[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200811182305.54287.nickpiggin@yahoo.com.au>
Date: Tue, 18 Nov 2008 23:05:52 +1100
From: Nick Piggin <nickpiggin@...oo.com.au>
To: Lai Jiangshan <laijs@...fujitsu.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Johannes Weiner <hannes@...xchg.org>,
David Miller <davem@...emloft.net>,
Dave Airlie <airlied@...il.com>,
Paul Menage <menage@...gle.com>,
kamezawa.hiroyu@...fujitsu.com,
Balbir Singh <balbir@...ux.vnet.ibm.com>,
Arjan van de Ven <arjan@...radead.org>,
Jan Kara <jack@...e.cz>, Jes Sorensen <jes@....com>,
KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
dada1@...mosbay.com, Alexey Dobriyan <adobriyan@...il.com>,
Jens Axboe <jens.axboe@...cle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Nick Piggin <npiggin@...e.de>,
Al Viro <viro@...iv.linux.org.uk>,
Rik van Riel <riel@...hat.com>,
Pekka Enberg <penberg@...helsinki.fi>
Subject: Re: [PATCH V2 1/4] vmalloc: introduce vfree_atomic()
On Tuesday 18 November 2008 22:38, Lai Jiangshan wrote:
> Nick Piggin wrote:
> > On Tuesday 18 November 2008 19:51, Lai Jiangshan wrote:
> >> fdtable and sysipc use vfree() in RCU callback. this patch
> >> introduce vfree_atomic() for them.
> >
> > AFAIKS, vfree is usable from atomic context? What am I missing?
>
> Hi, Nick Piggin,
>
> Sorry for misled you.
>
> fdtable and sysipc use vfree() in RCU callback.(_but defer it by
> schedule_work()_) current vfree() is not usable from atomic context, so
> this patches are worthy.
Hi,
I just wonder why vfree is not usable from atomic context? It is well
known that it can't be used in interrupt context, but just atomic
should work?
> even if vfree() is usable from atomic context soon,
> [PATCH 3/4] [PATCH 4/4] are still worthy now. Because these two patches are
> independent from vfree().(just needs to be changed one or two lines
> when vfree() is usable from atomic context)
>
> I suggest we can use vfree_atomic() before vfree() is available
> for atomic context. Because fdtable and sysipc need a grace way for
> using RCU and vmalloc/vfree. (actually, fdtable and sysipc have implemented
> they own "vfree_atomic()", but it's very ugly)
It's probably not a bad idea to consolidate these into one place.
Using vfree directly is not a trivial change, it could cause
regressions.
> Thanx, Lai.
>
> > Actually, one could argue that we don't want to perform such
> > costly operations in the atomic context, however with lazy
> > unmapping, vfree is very cheap now (amortized, at least).
>
> I'm looking forward to vfree() is available for atomic context.
Something like this. Actually, this is something we quite possibly
should be doing anyway, so that the expensive flush path can be
deferred to a less critical context.
View attachment "mm-vfree-defer.patch" of type "text/x-diff" (1040 bytes)
Powered by blists - more mailing lists