[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160426155344.GK21636@brightrain.aerifal.cx>
Date: Tue, 26 Apr 2016 11:53:44 -0400
From: Rich Felker <dalias@...c.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Davidlohr Bueso <dave@...olabs.net>,
Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Darren Hart <dvhart@...ux.intel.com>,
Mel Gorman <mgorman@...e.de>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Greg Ungerer <gerg@...inux.org>,
Steven Miao <realmz6@...il.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>
Subject: Re: [PATCH] futex: fix shared futex operations on nommu
On Tue, Apr 26, 2016 at 11:55:52AM +0200, Sebastian Andrzej Siewior wrote:
> * Rich Felker | 2016-04-25 21:03:03 [-0400]:
>
> >The shared get_futex_key code does not work on nommu, but is not
> >needed anyway because it's impossible for a given backing to have
> >multiple distinct virtual addresses on nommu. Simply disable these
> >code paths by refraining from setting FLAG_SHARED when CONFIG_MMU is
> >not enabled.
>
> by disabling it you are not fixing it.
> Why isn't it working? Why does it pop up now and not earlier?
The whole shared futex logic is meaningless for nommu. Perhaps I
should have written a better message, though.
With MMU, shared futex keys need to identify the physical backing for
a memory address because it may be mapped at different addresses in
different processes (or even multiple times in the same process).
Without MMU this cannot happen. You only have physical addresses. So
the "private futex" behavior of using the virtual address as the key
is always correct (for both shared and private cases) on nommu
systems.
Rich
Powered by blists - more mailing lists