lib: list_sort.c: Limit number of unused cmp callbacks
authorRasmus Villemoes <[email protected]>
Wed, 6 Aug 2014 23:09:44 +0000 (16:09 -0700)
committerLinus Torvalds <[email protected]>
Thu, 7 Aug 2014 01:01:25 +0000 (18:01 -0700)
commit61b3d6c48f059bb054b0019088736dab6c2ac0ec
tree0d312d70673c63c8e02fcdd7c690e0e67e57922f
parent694123031d12458a343492528fa40113e5ec843e
lib: list_sort.c: Limit number of unused cmp callbacks

The helper merge_and_restore_back_links() makes sure to call the
caller's cmp function during the final ->prev pointer fixup, so that the
cmp function may call cond_resched().  However, if the cmp function does
not call cond_resched() at all, this is entirely redundant.  If it does,
doing at least two function calls for every two pointer assignments is a
bit excessive.  This patch limits the calls to once for every 256
iterations.

Signed-off-by: Rasmus Villemoes <[email protected]>
Cc: Artem Bityutskiy <[email protected]>
Cc: Don Mullis <[email protected]>
Cc: Dave Chinner <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
lib/list_sort.c