- clist_add_tail(&ctx->rs_bits, &w->w.n);
- DBG("Scheduling block %d+%d", pos, n);
+ if (n * ctx->elt_size < sorter_thread_chunk)
+ {
+ DBG("Sorting block %d+%d inline", pos, n);
+ rs_finish(NULL, &w->w);
+ ep_free(ctx->eltpool, w);
+ }
+ else
+ {
+ DBG("Scheduling block %d+%d", pos, n);
+ work_submit(ctx->rs_work_queue, &w->w);
+ }