Re: Some interesting observations when trying to optimize vmstat handling

From: Andi Kleen
Date: Thu Nov 08 2007 - 18:12:33 EST



> There is an interrupt enable overhead of 48 cycles that would be good to
> be able to eliminate (Kernel code usually moves counter increments into
> a neighboring interrupt disable section so that __ function can be used).

Replace the push flags ; popf with test $IFMASK,flags ; jz 1f; sti ; 1:
That will likely make it much faster (but also bigger)

The only problem is that there might be some code who relies on
restore_flags() restoring other flags that IF, but at least for interrupts
and local_irq_save/restore it should be fine to change.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/