On Tue, 19 Feb 2008 09:36:34 +0100 Jens Axboe <[EMAIL PROTECTED]> wrote:
> On Tue, Feb 19 2008, KAMEZAWA Hiroyuki wrote: > > On Sun, 17 Feb 2008 20:29:13 +0100 > > Jens Axboe <[EMAIL PROTECTED]> wrote: > > > > > It's odd stuff. Could you perhaps try and add some printks to > > > block/cfq-iosched.c:call_for_each_cic(), like dumping the 'nr' return > > > from radix_tree_gang_lookup() and the pointer value of cics[i] in the > > > for() loop after the lookup? > > > > > I met the same issue on ia64/NUMA box. > > seems cisc[]->key is NULL and index for radix_tree_gang_lookup() was > > always '1'. > > Why does it keep repeating then? If ->key is NULL, the next lookup index > should be 1UL. > when I inserted printk here == for (i = 0; i < nr; i++) func(ioc, cics[i]); printk("%d %lx\n", nr, index); == index was always "1" and nr was always 32. So, cics[31]->key was always NULL when index=1 is passed to radix_tree_gang_lookup(). > But I think the radix 'scan over entire tree' is a bit fragile. This > patch adds a parallel hlist for ease of properly browsing the members, > does that work for you? It compiles, but I haven't booted it here yet... > will try. please wait a bit. Thanks, -Kame -- 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/