* Rik van Riel <r...@redhat.com> wrote: > static bool smp_no_nmi_ipi = false; > > /* > + * Modern Intel and AMD CPUs tell the hypervisor when a guest is > + * spinning excessively on a spinlock. The hypervisor will then > + * schedule something else, effectively taking care of the backoff > + * for us. Doing our own backoff on top of the hypervisor's pause > + * loop exit handling can lead to excessively long delays, and > + * performance degradations. Limit the spinlock delay in virtual > + * machines to a smaller value. > + */ > +#define DELAY_SHIFT 8 > +#define DELAY_FIXED_1 (1<<DELAY_SHIFT) > +#define MIN_SPINLOCK_DELAY (1 * DELAY_FIXED_1) > +#define MAX_SPINLOCK_DELAY_NATIVE (16000 * DELAY_FIXED_1) > +#define MAX_SPINLOCK_DELAY_GUEST (16 * DELAY_FIXED_1) > +static int __read_mostly max_spinlock_delay = MAX_SPINLOCK_DELAY_NATIVE; > +void __init init_spinlock_delay(void) > +{ > + if (x86_hyper) > + max_spinlock_delay = MAX_SPINLOCK_DELAY_GUEST;
I realize that you took existing code and extended it, but that chunk of code looks pretty disgusting visually now - at minimum it should be vertically aligned as most other kernel code does. The comment should also tell that the unit of these values is 'spinlock-op loops' or so. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/