diff options
Diffstat (limited to 'lib/list_sort.c')
-rw-r--r-- | lib/list_sort.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/list_sort.c b/lib/list_sort.c index 06e900c5587b..52f0c258c895 100644 --- a/lib/list_sort.c +++ b/lib/list_sort.c @@ -120,7 +120,8 @@ static void merge_final(void *priv, cmp_func cmp, struct list_head *head, * The latter offers a chance to save a few cycles in the comparison * (which is used by e.g. plug_ctx_cmp() in block/blk-mq.c). * - * A good way to write a multi-word comparison is + * A good way to write a multi-word comparison is:: + * * if (a->high != b->high) * return a->high > b->high; * if (a->middle != b->middle) @@ -156,9 +157,11 @@ static void merge_final(void *priv, cmp_func cmp, struct list_head *head, * * The number of pending lists of size 2^k is determined by the * state of bit k of "count" plus two extra pieces of information: + * * - The state of bit k-1 (when k == 0, consider bit -1 always set), and * - Whether the higher-order bits are zero or non-zero (i.e. * is count >= 2^(k+1)). + * * There are six states we distinguish. "x" represents some arbitrary * bits, and "y" represents some arbitrary non-zero bits: * 0: 00x: 0 pending of size 2^k; x pending of sizes < 2^k |