Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1641740
| From | Rik van Riel <riel@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] sched/numa: use down_read_trylock for mmap_sem |
| Date | 2017-05-15 16:30 +0200 |
| Message-ID | <tHpay-Ra-11@gated-at.bofh.it> (permalink) |
| References | <tHo4P-fL-33@gated-at.bofh.it> |
| Organization | Red Hat, Inc |
On Mon, 2017-05-15 at 15:13 +0200, Vlastimil Babka wrote: > A customer has reported a soft-lockup when running a proprietary > intensive > memory stress test, where the trace on multiple CPU's looks like > this: > > RIP: 0010:[<ffffffff810c53fe>] > [<ffffffff810c53fe>] native_queued_spin_lock_slowpath+0x10e/0x190 > ... > Call Trace: > [<ffffffff81182d07>] queued_spin_lock_slowpath+0x7/0xa > [<ffffffff811bc331>] change_protection_range+0x3b1/0x930 > [<ffffffff811d4be8>] change_prot_numa+0x18/0x30 > [<ffffffff810adefe>] task_numa_work+0x1fe/0x310 > [<ffffffff81098322>] task_work_run+0x72/0x90 > > Further investigation showed that the lock contention here is > pmd_lock(). > > The task_numa_work() function makes sure that only one thread is let > to perform > the work in a single scan period (via cmpxchg), but if there's a > thread with > mmap_sem locked for writing for several periods, multiple threads in > task_numa_work() can build up a convoy waiting for mmap_sem for read > and then > all get unblocked at once. > > This patch changes the down_read() to the trylock version, which > prevents the > build up. For a workload experiencing mmap_sem contention, it's > probably better > to postpone the NUMA balancing work anyway. This seems to have fixed > the soft > lockups involving pmd_lock(), which is in line with the convoy > theory. > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Rik van Riel <riel@redhat.com>
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] sched/numa: use down_read_trylock for mmap_sem Vlastimil Babka <vbabka@suse.cz> - 2017-05-15 15:20 +0200 Re: [PATCH] sched/numa: use down_read_trylock for mmap_sem Rik van Riel <riel@redhat.com> - 2017-05-15 16:30 +0200 Re: [PATCH] sched/numa: use down_read_trylock for mmap_sem Mel Gorman <mgorman@techsingularity.net> - 2017-05-15 16:40 +0200 Re: [PATCH] sched/numa: use down_read_trylock for mmap_sem Peter Zijlstra <peterz@infradead.org> - 2017-05-16 10:20 +0200 [tip:sched/core] sched/numa: Use down_read_trylock() for the mmap_sem tip-bot for Vlastimil Babka <tipbot@zytor.com> - 2017-05-23 11:00 +0200
csiph-web