On Mon, Jun 25, 2012 at 05:06:58AM -0400, Christoph Hellwig wrote: > On Sat, Jun 23, 2012 at 09:39:55AM +1000, Dave Chinner wrote: > > Hmmmm. How often do we get real io completion occurring before we > > call _xfs_buf_ioend() here? I can't see that it is common, so this > > is probably fine, but perhaps a few numbers might help here? If it > > is rare as we think it is, then yeah, that would work.... > > The only case where I can see it ever hapen is when sending tons > of separate I/Os in one go to a reall fast device, e.g. a very > fragmented large directory to superfast battery backed dram device. > > And even then I don't think it matters very much - for reads we > generally do not have an b_iodone handler attached, so for these > the change does not make any different. We will very soon - CRC checks after reading for disk will be done after reads. The patch series I'm working on at the moment introduces sanity checks of buffers on read completion - it doesn't do CRC checks yet, but it moves all the checks we do on read completion into iodone callbacks, and when CRCs are introduced they will simply be slotted into those functions.... > For delayed writes the > additional context switch also doesn't have a major impact on > performance, so the only thing where we could see a difference > is synchronous writes, of which we don't have a lot left, and > essentially none unless the shrinkers kick in and need to do > synchronous reclaims. *nod* Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs