On Mon, Apr 03, 2017 at 01:05:06PM +0100, Mel Gorman wrote: > > Started performance benchmarking: > > 163 cycles = current state > > 183 cycles = with BH disable + in_irq > > 218 cycles = with BH disable + in_irq + irqs_disabled > > > > Thus, the performance numbers unfortunately looks bad, once we add the > > test for irqs_disabled(). The slowdown by replacing preempt_disable > > with BH-disable is still a win (we saved 29 cycles before, and loose > > 20, I was expecting regression to be only 10 cycles). > > > > This surprises me because I'm not seeing the same severity of problems > with irqs_disabled. Your path is slower than what's currently upstream > but it's still far better than a revert. The softirq column in the > middle is your patch versus a full revert which is the last columnm >
Any objection to resending the local_bh_enable/disable patch with the in_interrupt() check based on this data or should I post the revert and go back to the drawing board? -- Mel Gorman SUSE Labs