2005-12-21 09:40:19

by Serge Noiraud

[permalink] [raw]
Subject: 2.6.15-rc5-rt4 and CONFIG_SLAB=y : structure has no member named `nodeid'

Hi,

testing on i386, I get the following error :
...
CC mm/slab.o
mm/slab.c: In function `cache_alloc_refill':
mm/slab.c:2093: error: structure has no member named `nodeid'
mm/slab.c: In function `free_block':
mm/slab.c:2239: error: structure has no member named `nodeid'
mm/slab.c:2239: error: `node' undeclared (first use in this function)
mm/slab.c:2239: error: (Each undeclared identifier is reported only once
mm/slab.c:2239: error: for each function it appears in.)
make[4]: *** [mm/slab.o] Erreur 1
...

You removed nodeid in the slab struct, but many functions use it.

--
Serge Noiraud
Bull T?l?service
Bull, Architect of an Open World TM
T?l : 08 02 08 20 00
http://www.bull.com/


2006-01-05 10:06:06

by Serge Noiraud

[permalink] [raw]
Subject: Re: 2.6.15-rc5-rt4 and CONFIG_SLAB=y : structure has no member named `nodeid'

mercredi 21 D?cembre 2005 10:45, Serge Noiraud wrote/a ?crit?:
> Hi,
>
> testing on i386, I get the following error :
> ...
> CC mm/slab.o
> mm/slab.c: In function `cache_alloc_refill':
> mm/slab.c:2093: error: structure has no member named `nodeid'
> mm/slab.c: In function `free_block':
> mm/slab.c:2239: error: structure has no member named `nodeid'
> mm/slab.c:2239: error: `node' undeclared (first use in this function)
> mm/slab.c:2239: error: (Each undeclared identifier is reported only once
> mm/slab.c:2239: error: for each function it appears in.)
> make[4]: *** [mm/slab.o] Erreur 1
> ...
>
> You removed nodeid in the slab struct, but many functions use it.
>
I get the same problem with 2.6.15-rt1
The following patch suppress the error : I'm not sure it's the good correction.
perhaps we should supress this DEBUG test ?

--- linux.orig/mm/slab.c
+++ linux/mm/slab.c
@@ -2090,7 +2090,6 @@
next = slab_bufctl(slabp)[slabp->free];
#if DEBUG
slab_bufctl(slabp)[slabp->free] = BUFCTL_FREE;
- WARN_ON(numa_node_id() != slabp->nodeid);
#endif
slabp->free = next;
}
check_slabp(cachep, slabp);



2006-01-05 10:45:52

by Serge Noiraud

[permalink] [raw]
Subject: Re: 2.6.15-rc5-rt4 and CONFIG_SLAB=y : structure has no member named `nodeid'

jeudi 5 Janvier 2006 11:12, Serge Noiraud wrote/a ?crit?:
> mercredi 21 D?cembre 2005 10:45, Serge Noiraud wrote/a ?crit?:
> > Hi,
> >
> > testing on i386, I get the following error :
> > ...
> > CC mm/slab.o
> > mm/slab.c: In function `cache_alloc_refill':
> > mm/slab.c:2093: error: structure has no member named `nodeid'
> > mm/slab.c: In function `free_block':
> > mm/slab.c:2239: error: structure has no member named `nodeid'
> > mm/slab.c:2239: error: `node' undeclared (first use in this function)
> > mm/slab.c:2239: error: (Each undeclared identifier is reported only once
> > mm/slab.c:2239: error: for each function it appears in.)
> > make[4]: *** [mm/slab.o] Erreur 1
> > ...
> >
> > You removed nodeid in the slab struct, but many functions use it.
> >
> I get the same problem with 2.6.15-rt1
> The following patch suppress the error : I'm not sure it's the good correction.
> perhaps we should supress this DEBUG test ?
>
> --- linux.orig/mm/slab.c
> +++ linux/mm/slab.c
> @@ -2090,7 +2090,6 @@
> next = slab_bufctl(slabp)[slabp->free];
> #if DEBUG
> slab_bufctl(slabp)[slabp->free] = BUFCTL_FREE;
> - WARN_ON(numa_node_id() != slabp->nodeid);
> #endif
> slabp->free = next;
> }
> check_slabp(cachep, slabp);

I forgot the second problem.

@@ -2236,7 +2235,6 @@
check_slabp(cachep, slabp);
#if DEBUG
/* Verify that the slab belongs to the intended node */
- WARN_ON(slabp->nodeid != node);

if (slab_bufctl(slabp)[objnr] != BUFCTL_FREE) {
printk(KERN_ERR "slab: double free detected in cache '%s', objp %p.\n",

2006-01-05 14:42:34

by Daniel Walker

[permalink] [raw]
Subject: Re: 2.6.15-rc5-rt4 and CONFIG_SLAB=y : structure has no member named `nodeid'


Looks like nodeid might just be equal to the cpu now.

You could try turning off CONFIG_DEBUG_SLAB as a temporary solution. It
looks like the DEBUG define depends on that config option .

Daniel

On Thu, 2006-01-05 at 11:12 +0100, Serge Noiraud wrote:
> mercredi 21 Décembre 2005 10:45, Serge Noiraud wrote/a écrit :
> > Hi,
> >
> > testing on i386, I get the following error :
> > ...
> > CC mm/slab.o
> > mm/slab.c: In function `cache_alloc_refill':
> > mm/slab.c:2093: error: structure has no member named `nodeid'
> > mm/slab.c: In function `free_block':
> > mm/slab.c:2239: error: structure has no member named `nodeid'
> > mm/slab.c:2239: error: `node' undeclared (first use in this function)
> > mm/slab.c:2239: error: (Each undeclared identifier is reported only once
> > mm/slab.c:2239: error: for each function it appears in.)
> > make[4]: *** [mm/slab.o] Erreur 1
> > ...
> >
> > You removed nodeid in the slab struct, but many functions use it.
> >
> I get the same problem with 2.6.15-rt1
> The following patch suppress the error : I'm not sure it's the good correction.
> perhaps we should supress this DEBUG test ?
>
> --- linux.orig/mm/slab.c
> +++ linux/mm/slab.c
> @@ -2090,7 +2090,6 @@
> next = slab_bufctl(slabp)[slabp->free];
> #if DEBUG
> slab_bufctl(slabp)[slabp->free] = BUFCTL_FREE;
> - WARN_ON(numa_node_id() != slabp->nodeid);
> #endif
> slabp->free = next;
> }
> check_slabp(cachep, slabp);
>
>
>
> -
> 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/