> + while (!list_empty(&list)) { Maybe do a list_first_entry_or_null here if you're touching the list iteration anyway? > + local_irq_disable(); > + list_splice_tail_init(iop_list, &list); > + list_splice(&list, iop_list); > + > if (rearm) > __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ); Maybe check if we have a non-empty list before disabling irqs? Also that list_emtpy check can replace the rearm condition - we only set the rearm flag if we break with a non-empty local list now. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html