On Tuesday 29 July 2008 09:00, Christoph Hellwig wrote: > On Mon, Jul 28, 2008 at 03:46:36PM -0700, akpm@xxxxxxxxxxxxxxxxxxxx wrote: > > From: Hisashi Hifumi <hifumi.hisashi@xxxxxxxxxxxxx> > > > > When we read some part of a file through pagecache, if there is a > > pagecache of corresponding index but this page is not uptodate, read IO > > is issued and this page will be uptodate. > > I was under the impression we wanted to do this in a nicer way than > the hacky method? This patch unfortunately appears like it may introduce an uninitialized memory leak due to a data race between one thread initializing a buffer then marking it uptodate, and the other testing buffer uptodate then reading from the buffer (buffer, read as: page memory covered by buffer head). For reference, this is basically the same class of data race that I fixed 0ed361dec36945f3116ee1338638ada9a8920905 I should have picked up on this before it was merged, but I was kind of rushed to review other things before they got merged. I don't think this patch got quite enough justification to warrant just blindly putting barriers in the buffer bitops. The best-case numbers for it were reasonable enough when the downside was only an extra branch or two in a relatively slow path. I don't really know how best to go from here (maybe someone can argue it is not a problem or come up with a better fix?). Thanks, Nick -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html