Re: [PATCH trivial] block: GFP_ATOMIC is __GFP_HIGH

From: Eduard - Gabriel Munteanu
Date: Sat Jun 28 2008 - 21:39:43 EST


On Sun, 29 Jun 2008 00:54:27 +0100 (BST)
Hugh Dickins <hugh@xxxxxxxxxxx> wrote:

> GFP_ATOMIC is __GFP_HIGH: no need for alloc_io_context() to add that.
>
> Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>
> ---
>
> block/blk-ioc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-next/block/blk-ioc.c 2008-05-12 02:01:05.000000000
> +0100 +++ linux/block/blk-ioc.c 2008-06-27 14:08:00.000000000
> +0100 @@ -98,7 +98,7 @@ struct io_context *alloc_io_context(gfp_
> ret->last_waited = jiffies; /* doesn't matter... */
> ret->nr_batch_requests = 0; /* because this is 0 */
> ret->aic = NULL;
> - INIT_RADIX_TREE(&ret->radix_root, GFP_ATOMIC |
> __GFP_HIGH);
> + INIT_RADIX_TREE(&ret->radix_root, GFP_ATOMIC);
> INIT_HLIST_HEAD(&ret->cic_list);
> ret->ioc_data = NULL;
> }

Hi,

I'm not sure this is a good idea: GFP_ATOMIC and __GFP_HIGH are
semantically different, even though they are equivalent at the moment.
Have you seen GFP_NOWAIT's definition?
/* This equals 0, but use constants in case they ever change */
#define GFP_NOWAIT (GFP_ATOMIC & ~__GFP_HIGH)

I think it's best to look at what that code intends to do, not at what
it does at the moment. Definitions for gfp flags might change in the
future.

If the code does not _semantically_ need __GFP_HIGH, then your commit
message should indicate so, rather than comparing it with GFP_ATOMIC.


Cheers,
Eduard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/