aio completion notification?

From: Adrian Chadd <adrian_at_creative.net.au>
Date: Wed, 11 Jun 2008 16:31:44 +0800

So perusing the aio code in preparation to disassocate it from the Squid
fs code, I found that there's a pipe being used as a notification/wakeup
mechanism.

Basically, thread completion writes a ! into the pipe; this wakes up the
main squid loop and calls a PF callback.

All the callback does is read into a temp buffer, and re-schedules for
read IO.

We then call aioCheckCallbacks() per storedir each time through the
comm loop. This can be hundreds of times a second; add 10 + store_dir's
to the mix and this ends up being thousands of times a second at minimum.

I then wondered why we weren't calling aioCheckCallbacks() here.
I modified the code to do so and am successfully running polygraph
against it.

http://www.creative.net.au/diffs/20080711-cacheboy-aufs-callback.diff

It should apply against 2.6, 2.7 and 2.HEAD as well as Cacheboy-HEAD.
aioCheckCallbacks() is now being called much, much less frequently than
it was before; more in line with how many operation requests there are.

Could some people please test this out and let me know if it works?

Adrian

-- 
- Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support -
- $25/pm entry-level VPSes w/ capped bandwidth charges available in WA -
Received on Wed Jun 11 2008 - 08:29:13 MDT

This archive was generated by hypermail 2.2.0 : Wed Jun 11 2008 - 12:00:05 MDT