RE: can a kmalloc be both GFP_ATOMIC and GFP_KERNEL at the same time?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 28 Apr 2007, Shan, Guo Wen (Gavin) wrote:

>
> #define GFP_ATOMIC      (__GFP_HIGH)
> #define GFP_NOIO        (__GFP_WAIT)
> #define GFP_NOFS        (__GFP_WAIT | __GFP_IO)
> #define GFP_KERNEL      (__GFP_WAIT | __GFP_IO | __GFP_FS)
>
> -----Original Message-----
> From: Robert P. J. Day [mailto:[email protected]]
> Sent: Saturday, April 28, 2007 9:41 PM
> To: Linux Kernel Mailing List
> Subject: can a kmalloc be both GFP_ATOMIC and GFP_KERNEL at the same
> time?
>
>
>
>   i'd always assumed that the type flags of GFP_ATOMIC and GFP_KERNEL
> were mutually exclusive when it came to calling kmalloc(), at least
> based on everything i'd read.  so i'm not sure how to interpret the
> following:
>
> drivers/scsi/aic7xxx_old.c:  aic_dev = kmalloc(sizeof(struct aic_dev_data), GFP_ATOMIC | GFP_KERNEL);
> drivers/message/i2o/device.c:   resblk = kmalloc(buflen + 8, GFP_KERNEL | GFP_ATOMIC);
>
>   clarification?

oh, i'm *aware* of the definitions of those flags, but every single
source i've ever read has *strongly* suggested that you don't use
those two flags together so i was surprised to see those combinations.
(as an example, love's kernel book, p. 192, shows a table of valid
combinations of flags to use, but doesn't mention the one above.)

and, on the other hand, if they *are* legal to use together, i guess
i'm kind of surprised that there would be only two instances of it.

in any case, i'll just assume that the above is valid and i'll go back
to reading up on it until i convince myself.  thanks.

rday

-- 
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux