linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).