Hey Will, I'd suggest as a first step improving the WorkerPool. It should be pretty easy, I don't think it will hurt us to do something where we fire off threads on demand, but then keep them around and reuse them. Might need some timer to periodically destroy idle threads when we get too many, etc. That's a pretty self contained change and would be a good first review. After that it will make more sense to implement the network file code to post tasks to the worker pool, and just do blocking IO there.
Also, do you have some page cycler numbers now and some oprofile data? I'd like to see the hot spots and where we are blocking on file access. This will be great data for comparison to the async implementation and make sure that we did indeed address all of the places we were concerned about. Thanks -- dean 2009/2/26 Craig Schlenter <[email protected]>: > On Wed, Feb 25, 2009 at 11:21 PM, Adam Langley <[email protected]> wrote: >> >> On Wed, Feb 25, 2009 at 1:13 PM, William Chan (陈智昌) >> <[email protected]> wrote: >>> I talked to Darin and he told me that this needs work since it's >>> impacting the page cycler times, so I figured I'd pick it up. You >>> have a TODO there saying to figure out how to best do async IO. Did >>> you ever figure this out? I talked to Darin briefly and decided that >>> the simplest thing to do for now is simply to post tasks to the global >>> WorkerPool. The global WorkerPool linux implementation looks pretty >>> silly and needs work, but it's probably good enough for the page >>> cycler. How does this approach sound to you? >> >> It's not clear if you were considering using POSIX async IO on Linux >> or not. Just in case you were: don't. It mostly doesn't work. > > LWN has a nice article on the future of async IO on linux here btw. > > http://lwn.net/Articles/316806/ > > Unfortunately that's not that useful currently. > > --Craig > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
