On 21.04.23 09:34, Richard Guo wrote: > There was discussion in [1] about improvements to list manipulation in > several places. But since the discussion is not related to the topic in > that thread, fork a new thread here and attach a patch to show my > thoughts. > > Some are just cosmetic changes by using macros. The others should have > performance gain from the avoidance of moving list entries. But I doubt > the performance gain can be noticed or measured, as currently there are > only a few places affected by the change. I still think the changes are > worthwhile though, because it is very likely that future usage of the > same scenario can benefit from these changes.
Can you explain the changes?
Maybe this patch should be split up. It seems some of the changes are trivial simplifications using existing APIs, while others introduce new functions.
Thanks for the suggestion. I've split the patch into two as attached. 0001 is just a minor simplification by replacing lfirst(list_head(list)) with linitial(list). 0002 introduces new functions to reduce the movement of list elements in several places so as to gain performance improvement and benefit future callers.