| .. | .. |
|---|
| 166 | 166 | if (wait) { |
|---|
| 167 | 167 | wq_entry.flags |= WQ_FLAG_EXCLUSIVE | reader * WQ_FLAG_CUSTOM; |
|---|
| 168 | 168 | __add_wait_queue_entry_tail(&sem->waiters, &wq_entry); |
|---|
| 169 | + trace_android_vh_percpu_rwsem_wq_add(sem, reader); |
|---|
| 169 | 170 | } |
|---|
| 170 | 171 | spin_unlock_irq(&sem->waiters.lock); |
|---|
| 171 | 172 | |
|---|
| .. | .. |
|---|
| 258 | 259 | |
|---|
| 259 | 260 | void percpu_up_write(struct percpu_rw_semaphore *sem) |
|---|
| 260 | 261 | { |
|---|
| 261 | | - trace_android_vh_record_pcpu_rwsem_starttime(current, 0); |
|---|
| 262 | 262 | rwsem_release(&sem->dep_map, _RET_IP_); |
|---|
| 263 | 263 | |
|---|
| 264 | 264 | /* |
|---|
| .. | .. |
|---|
| 284 | 284 | * exclusive write lock because its counting. |
|---|
| 285 | 285 | */ |
|---|
| 286 | 286 | rcu_sync_exit(&sem->rss); |
|---|
| 287 | + trace_android_vh_record_pcpu_rwsem_starttime(current, 0); |
|---|
| 287 | 288 | } |
|---|
| 288 | 289 | EXPORT_SYMBOL_GPL(percpu_up_write); |
|---|
| 289 | 290 | |
|---|