[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160115000509.GD17997@ZenIV.linux.org.uk>
Date: Fri, 15 Jan 2016 00:05:09 +0000
From: Al Viro <viro@...IV.linux.org.uk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Tomeu Vizoso <tomeu@...euvizoso.net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Neil Brown <neilb@...e.com>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH v2 06/11] don't put symlink bodies in pagecache into
highmem
On Thu, Jan 14, 2016 at 03:58:22PM -0800, Linus Torvalds wrote:
> On Thu, Jan 14, 2016 at 2:25 PM, Al Viro <viro@...iv.linux.org.uk> wrote:
> >
> > For one thing, we'll lose RCU ->get_link() for those.
>
> Why couldn't we just do that in the RCU walker? kmap should be fine..
In map_new_virtual():
__set_current_state(TASK_UNINTERRUPTIBLE);
add_wait_queue(pkmap_map_wait, &wait);
unlock_kmap();
schedule();
remove_wait_queue(pkmap_map_wait, &wait);
lock_kmap();
IOW, not in RCU mode ;-/
> That said, as long as you think it's ok now, I guess I don't care.
> Having some sanity testing in __add_to_page_cache_locked might be a
> good safety net.
That's better as a separate commit, IMO. The thing I'm not sure about is
whether we want a BUG() in there - VM_WARN_ON(), perhaps? OTOH, we do
have VM_BUG_ON_PAGE() in the same place already...
Powered by blists - more mailing lists