[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20121017165401.cc343861.akpm@linux-foundation.org>
Date: Wed, 17 Oct 2012 16:54:01 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Ming Lei <ming.lei@...onical.com>
Cc: linux-kernel@...r.kernel.org,
Alan Stern <stern@...land.harvard.edu>,
Oliver Neukum <oneukum@...e.de>,
Minchan Kim <minchan@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org, linux-pm@...r.kernel.org,
Jiri Kosina <jiri.kosina@...e.com>, Mel Gorman <mel@....ul.ie>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Michal Hocko <mhocko@...e.cz>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
"Rafael J. Wysocki" <rjw@...k.pl>, linux-mm <linux-mm@...ck.org>
Subject: Re: [RFC PATCH v1 1/3] mm: teach mm by current context info to not
do I/O during memory allocation
On Wed, 17 Oct 2012 09:54:09 +0800
Ming Lei <ming.lei@...onical.com> wrote:
> On Wed, Oct 17, 2012 at 4:19 AM, Andrew Morton
> <akpm@...ux-foundation.org> wrote:
> >
> > The patch seems reasonable to me. I'd like to see some examples of
> > these resume-time callsite which are performing the GFP_KERNEL
> > allocations, please. You have found some kernel bugs, so those should
> > be fully described.
>
> There are two examples on 2/3 and 3/3 of the patchset, see below link:
>
> http://marc.info/?l=linux-kernel&m=135040325717213&w=2
> http://marc.info/?l=linux-kernel&m=135040327317222&w=2
>
> Sorry for not Cc them to linux-mm because I am afraid of making noise
> in mm list.
Don't worry about mailing list noise ;)
> >
> > This is just awful. Why oh why do we write code in macros when we have
> > a nice C compiler?
>
> The two helpers are following style of local_irq_save() and
> local_irq_restore(), so that people can use them easily, that is
> why I define them as macro instead of inline.
local_irq_save() and local_irq_restore() were mistakes :( It's silly to
write what appears to be a C function and then have it operate like
Pascal (warning: I last wrote some Pascal in 66 B.C.).
> >
> > These can all be done as nice, clean, type-safe, documented C
> > functions. And if they can be done that way, they *should* be done
> > that way!
> >
> > And I suggest that a better name for memalloc_noio_save() is
> > memalloc_noio_set(). So this:
>
> IMO, renaming as memalloc_noio_set() might not be better than _save
> because the _set name doesn't indicate that the flag should be stored first.
You could add __must_check to the function definition to ensure that
all callers save its return value.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists