Only if the match is not found. If it is found, then we "goto" over
the re-assignment and use the counted value.
>
> 2) raparm_cache is reassigned, and since the ra param list is
> NULL terminated this can make the list shorter and shorter
> and shorter until it is one entry deep.
But it doesn't.
If the entry that was found is not at the head of the list, we delete
it from the list, and then insert it at the head of the list. Nothing
gets lost.
Given that the stats on my machine still show that it is sometimes
finding entries in the last 10% of the 64 entry cache, I am quite
confident that there are atleast 58 entryies still in the cache.
Nothing has been lost.
I don't think your patch adds anything.
Re-writing the code to use list.h lists would probably be useful
But currently (except of the problem Trond found) the code is correct.
NeilBrown
>
> Yikes :)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/