Thread (6 messages) 6 messages, 3 authors, 2004-08-17

Re: [PATCH] get_nodes mask miscalculation

From: Andi Kleen <hidden>
Date: 2004-08-10 15:36:11
Also in: lkml

On Tue, Aug 10, 2004 at 09:54:08AM -0500, Brent Casavant wrote:
On Tue, 10 Aug 2004, Andi Kleen wrote:
quoted
The idea behind this is was to make it behave like select.
And select passes highest valid value + 1.
Not that my opinion is worth much, but this seems a very peculiar
interface to mimic.
It is the only system call I am aware of that passes a variable
length bitmap.  Do you know of any others? 
quoted
nodemask."
Actually, I worked from the following description:

mbind(3)
	. . .
	nodemask is a bit field of nodes that contains up to
	maxnode bits.
	. . .

This very clearly indicates that I should pass the number of bits
in the nodemask field, not the number of bits plus one.
I really need to rewrite the mbind manpage - it was a quick
hack job and has several other errors.
quoted
Problem is that you'll break all existing libnuma binaries
which pass NUMA_MAX_NODES + 1. In your scheme the kernel
will access one bit beyond the bitmap that got passed,
and depending on its random value you may get a failure or not.
Well, again, not that my opinion carries much weight (nor really should
it), but this whole off-by-one (or two) interface seems unnecessarily
confusing.  Is there no way we can get this fixed?  The temporary pain
Sure, new system call slots would do with a small compat wrapper
for the old calls. I'm just not sure it is worth it. I personally
don't find it that confusing, but I'm probably not a good benchmark
for this. 
of breaking the relatively new libnuma seems worth the price of getting
this forever cleaned up.
I don't think breaking existing binaries is a good idea. Linux
has higher standards. 

-Andi
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help