John McCutchan wrote:
On Thu, 2005-08-25 at 11:54 -0700, George Anzinger wrote:
Robert Love wrote:
On Thu, 2005-08-25 at 09:33 -0400, John McCutchan wrote:
On Thu, 2005-08-25 at 22:07 +1200, Reuben Farrelly wrote:
~
I think the best thing is to take idr into user space and emulate the
problem usage. To this end, from the log it appears that you _might_ be
moving between 0, 1 and 2 entries increasing the number each time. It
also appears that the failure happens here:
add 1023
add 1024
find 1024 or is it the remove that fails? It also looks like 1024 got
allocated twice. Am I reading the log correctly?
You are reading the log correctly. There are two bugs. One is that if we
pass X to idr_get_new_above, it can return X again (doesn't ever seem to
return < X). The other problem is that the find fails on 1024 (and 2048
if we skip 1024).
That IS strange. 1024 is on a "level" boundry, but then next level is
2**15, not 2**11. I will take a look.
So, is it correct to assume that the tree is empty save these two at
this time? I am just trying to figure out what the test program needs
to do.
Yes that is the exact scenario. Only 2 id's are used at any given time,
and once we hit 1024 things break. This doesn't happen when the tree is
not empty.
Thanks for looking at this!
--
George Anzinger george@mvista.com
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/
-
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/