Pull aio nested sleep annotation from Ben LaHaise, * git://git.kvack.org/~bcrl/aio-fixes: aio: annotate aio_read_event_ring for sleep patterns
Unified · Split
| @@ -1140,6 +1140,13 @@ static long aio_read_events_ring(struct kioctx *ctx, · 1139 unmodified lines | ||
| 1140 | 1140 | long ret = 0; |
| 1141 | 1141 | int copy_ret; |
| 1142 | 1142 | |
| 1143 | + /* | |
| 1144 | + * The mutex can block and wake us up and that will cause | |
| 1145 | + * wait_event_interruptible_hrtimeout() to schedule without sleeping | |
| 1146 | + * and repeat. This should be rare enough that it doesn't cause | |
| 1147 | + * peformance issues. See the comment in read_events() for more detail. | |
| 1148 | + */ | |
| 1149 | + sched_annotate_sleep(); | |
| 1143 | 1150 | mutex_lock(&ctx->ring_lock); |
| 1144 | 1151 | |
| 1145 | 1152 | /* Access to ->ring_pages here is protected by ctx->ring_lock. */ |