* Re: [PATCH] implement __GFP_REPEAT, __GFP_NOFAIL, __GFP_NORETRY
@ 2003-04-22 19:49 Alexey Mahotkin
2003-04-22 20:10 ` Andrew Morton
0 siblings, 1 reply; 2+ messages in thread
From: Alexey Mahotkin @ 2003-04-22 19:49 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel
Maybe I am wrong, but recent patch added
+#define __GFP_NORETRY 0x1000 /* Do not retry. Might fail */
which conflicts numerically with
#define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
e.g., mm/slab.c contains the following snippet:
if (flags & ~(SLAB_DMA|SLAB_LEVEL_MASK|SLAB_NO_GROW))
BUG();
if (flags & SLAB_NO_GROW)
return 0;
while SLAB_LEVEL_MASK actually contains SLAB_NO_GROW.
--alexm
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] implement __GFP_REPEAT, __GFP_NOFAIL, __GFP_NORETRY
2003-04-22 19:49 [PATCH] implement __GFP_REPEAT, __GFP_NOFAIL, __GFP_NORETRY Alexey Mahotkin
@ 2003-04-22 20:10 ` Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2003-04-22 20:10 UTC (permalink / raw)
To: Alexey Mahotkin; +Cc: linux-kernel
Alexey Mahotkin <alexm@hsys.msk.ru> wrote:
>
>
>
> Maybe I am wrong, but recent patch added
>
> +#define __GFP_NORETRY 0x1000 /* Do not retry. Might fail */
>
>
> which conflicts numerically with
>
> #define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
>
>
> e.g., mm/slab.c contains the following snippet:
>
> if (flags & ~(SLAB_DMA|SLAB_LEVEL_MASK|SLAB_NO_GROW))
> BUG();
> if (flags & SLAB_NO_GROW)
> return 0;
>
Well spotted, thanks. This should fix it up:
diff -puN include/linux/slab.h~SLAB_NO_GROW-fix include/linux/slab.h
--- 25/include/linux/slab.h~SLAB_NO_GROW-fix Tue Apr 22 13:07:12 2003
+++ 25-akpm/include/linux/slab.h Tue Apr 22 13:08:01 2003
@@ -22,8 +22,11 @@ typedef struct kmem_cache_s kmem_cache_t
#define SLAB_KERNEL GFP_KERNEL
#define SLAB_DMA GFP_DMA
-#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS|__GFP_COLD|__GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|__GFP_NORETRY)
-#define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
+#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS|\
+ __GFP_COLD|__GFP_NOWARN|__GFP_REPEAT|\
+ __GFP_NOFAIL|__GFP_NORETRY)
+
+#define SLAB_NO_GROW __GFP_NO_GROW /* don't grow a cache */
/* flags to pass to kmem_cache_create().
* The first 3 are only valid when the allocator as been build
diff -puN include/linux/gfp.h~SLAB_NO_GROW-fix include/linux/gfp.h
--- 25/include/linux/gfp.h~SLAB_NO_GROW-fix Tue Apr 22 13:07:12 2003
+++ 25-akpm/include/linux/gfp.h Tue Apr 22 13:08:57 2003
@@ -31,6 +31,7 @@
#define __GFP_REPEAT 0x400 /* Retry the allocation. Might fail */
#define __GFP_NOFAIL 0x800 /* Retry for ever. Cannot fail */
#define __GFP_NORETRY 0x1000 /* Do not retry. Might fail */
+#define __GFP_NO_GROW 0x2000 /* Internal slab usage */
#define GFP_ATOMIC (__GFP_HIGH)
#define GFP_NOIO (__GFP_WAIT)
_
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-04-22 20:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-22 19:49 [PATCH] implement __GFP_REPEAT, __GFP_NOFAIL, __GFP_NORETRY Alexey Mahotkin
2003-04-22 20:10 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).