Re: lmbench regression due to cond_resched nullification change 26-rc5 vs. 25
From: Christian Borntraeger
Date: Sun Jun 22 2008 - 15:19:33 EST
Am Freitag, 20. Juni 2008 schrieben Sie:
> But quite frankly, regardless of exactly why it happens, it absolutely
> makes no sense to even have that cond_resched() in the _innermost_ loop -
> the one that is called for every single fd. It's much better to move the
> conditional reschedule out a bit.
>
> That inner loop was very much designed to compile into nice assembly
> language, and it's possible that the cond_resched() simply causes extra
> register pressure and keeps us from keeping the bitmasks in registers etc.
>
> So this trivial patch, which moves the cond_resched() to be outside the
> single-word select() loop, would be a good idea _regardless_. Does it make
> any difference for you? If it's purely a "code generation got worse"
> issue, it should help a bit.
Yes, it helps. I am now at 24 microseconds which is very close to the original
time for lat_select.
Thanks
--
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/