Messages in this thread | | | Date | Thu, 29 Mar 2012 16:25:43 -0700 | From | Ted Ts'o <> | Subject | Re: lockups shortly after booting in current git. |
| |
On Thu, Mar 29, 2012 at 02:52:40PM -0700, Linus Torvalds wrote: > > > > up 30 minutes with that reverted, no problems so far.. > > Goodie. Let it run for a while more, and really pound on it. > > Ted, are there any downsides to just reverting that commit (ie any > subtle interactions) for now? That's assuming that Dave's testing > continues to confirm that it is that one commit.
That commit fixes a race which is seen when you write into fallocated (and hence uninitialized) disk blocks under *very* heavy memory pressure. Furthermore, although theoretically it could trigger under normal direct I/O writes, it only seems to trigger if you are issuing a huge number of AIO writes, such that a just-written page can get evicted from memory, and then read back into memory, before the workqueue has a chance to update the extent tree.
This race has been around for a little over a year, and no one noticed until two months ago; it only happens under fairly exotic conditions, and in fact even after trying very hard to create a simple repro under lab conditions, we could only reproduce the problem and confirm the fix on production servers running MySQL on very fast PCIe-attached flash devices.
Given that Dave was able to hit this problem pretty quickly, if we confirm that this commit is at fault, the only reasonable thing to do is to revert it IMO.
- Ted
| |