Am 10.11.2013 16:14, schrieb Toralf Förster: > On 11/06/2013 10:31 PM, Richard Weinberger wrote: >> Am 06.11.2013 22:18, schrieb Toralf Förster: >>> On 11/06/2013 05:06 PM, Konstantin Khlebnikov wrote: >>>> In this case it must stop after scanning whole tree in line: >>>> /* Overflow after ~0UL */ >>>> if (!index) >>>> return NULL; >>>> >>> >>> A fresh current example with latest git tree shows that lines 769 and 770 do alternate : >> >> Can you please ask gdb for the value of offset? >> >> Thanks, >> //richard >> > > With this change > > diff --git a/lib/radix-tree.c b/lib/radix-tree.c > index 7811ed3..b2e9db5 100644 > --- a/lib/radix-tree.c > +++ b/lib/radix-tree.c > @@ -767,6 +767,7 @@ restart: > offset + 1); > else > while (++offset < RADIX_TREE_MAP_SIZE) { > + printk ("node->slots[offset] %p offeset %lu\n", node->slots[offset], offset); > if (node->slots[offset]) > break; > } Make sure that you print only in case of a enless loop. i.e. add a loop counter and start printing only if the loop was taken *very* often. Thanks, //richard -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>