Messages in this thread | | | From | Christian Borntraeger <> | Subject | Re: lmbench regression due to cond_resched nullification change 26-rc5 vs. 25 | Date | Sun, 22 Jun 2008 21:17:59 +0200 |
| |
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
| |