Re: 2.6.16-rc1-mm3

From: Eric Dumazet
Date: Fri Jan 27 2006 - 05:36:26 EST


Andy Whitcroft a écrit :
Eric Dumazet wrote:
The NULL choice was maybe wrong. We might need more than one page to
fully catch all accesses. Something like 32KB.

The crash behavoir is handy to catch that the problem exists, and is
very cheap (0 cost) at run time. However, once its known I think we
need something more targetted to allow tracking of the cause. Perhaps
we could set the offset thingy to -1 or something and simply do
something like the following in per_cpu():

if (__per_cpu_offset[i] == -1)
BUG();
else
*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu])


Yes we can set __per_cpu_offset[not_possible_cpu] to 0, because [__per_cpu_start,__per_cpu_end) is in init section and should be discarded in free_initmem(). I'm not sure if the freed virtual space can later be reused.

Eric
-
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/