Messages in this thread | | | Date | Tue, 5 Jan 2016 13:11:40 -0800 | From | Davidlohr Bueso <> | Subject | Re: [PATCH] futex: Reduce the scope of lock_page, aka lockless futex_get_key() |
| |
On Tue, 05 Jan 2016, Bueso wrote:
>On Tue, 05 Jan 2016, Peter Zijlstra wrote: > >>On Tue, Jan 05, 2016 at 12:23:55PM -0800, Davidlohr Bueso wrote: >>>+ if (unlikely(!mapping)) { >>>+ int shmem_swizzled; >>>+ >>>+ /* >>>+ * Page lock is required to identify which special case above >>>+ * applies. If this is really a shmem page then the page lock >>>+ * will prevent unexpected transitions. >>>+ */ >>>+ lock_page(page); >>>+ shmem_swizzled = PageSwapCache(page); >>> unlock_page(page); >>> put_page(page); >>>+ WARN_ON_ONCE(mapping); >> >>We've not re-loaded mapping, so how could this possibly be? > >Yep, this wants to be page->mapping.
Actually under compound_head() afaict, along with the rest of the page->mapping loads.
| |