From: Greg KH on
On Wed, Mar 10, 2010 at 02:50:21PM -0800, David Rientjes wrote:
> node_read_distance() has a BUILD_BUG_ON() to prevent buffer overruns when
> the number of nodes printed will exceed the buffer length.
>
> Each node only needs four chars: three for distance (maximum distance is
> 255) and one for a seperating space or a trailing newline.

Is this causing a problem as-is today that we need to resolve for
2.6.34? Or is this 2.6.35 material?

Who chose this original number, and why is it off by 1/2?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: David Rientjes on
On Wed, 10 Mar 2010, Greg KH wrote:

> > node_read_distance() has a BUILD_BUG_ON() to prevent buffer overruns when
> > the number of nodes printed will exceed the buffer length.
> >
> > Each node only needs four chars: three for distance (maximum distance is
> > 255) and one for a seperating space or a trailing newline.
>
> Is this causing a problem as-is today that we need to resolve for
> 2.6.34? Or is this 2.6.35 material?
>

It's not needed at least for x86 for 2.6.34 since the max
CONFIG_NODES_SHIFT is 9. I don't know about other architectures with
different ranges or page sizes.

I'm going to push a change to the x86 maintainers to increase that max
CONFIG_NODES_SHIFT to 10 hopefully for 2.6.35, that's where we run into
this error.

> Who chose this original number, and why is it off by 1/2?
>

It's earlier than the git history, but there's no reason to divide
PAGE_SIZE in half. We've been running machines with this patch for well
over a year and /sys/devices/system/node/nodeN/distance works just fine
with 1K nodes.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Greg KH on
On Wed, Mar 10, 2010 at 03:05:47PM -0800, David Rientjes wrote:
> On Wed, 10 Mar 2010, Greg KH wrote:
>
> > > node_read_distance() has a BUILD_BUG_ON() to prevent buffer overruns when
> > > the number of nodes printed will exceed the buffer length.
> > >
> > > Each node only needs four chars: three for distance (maximum distance is
> > > 255) and one for a seperating space or a trailing newline.
> >
> > Is this causing a problem as-is today that we need to resolve for
> > 2.6.34? Or is this 2.6.35 material?
> >
>
> It's not needed at least for x86 for 2.6.34 since the max
> CONFIG_NODES_SHIFT is 9. I don't know about other architectures with
> different ranges or page sizes.
>
> I'm going to push a change to the x86 maintainers to increase that max
> CONFIG_NODES_SHIFT to 10 hopefully for 2.6.35, that's where we run into
> this error.

Ok, I'll queue this up for .35, thanks.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/