Messages in this thread |  | | | From | Nick Piggin <> | | Subject | Re: [PATCH] Memory management livelock | | Date | Fri, 3 Oct 2008 12:59:17 +1000 |
| |
On Friday 03 October 2008 12:40, Andrew Morton wrote: > On Fri, 3 Oct 2008 12:32:23 +1000 Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > > yup, that's pretty much unfixable, really, unless new locks are added > > > which block threads which are writing to unrelated sections of the > > > file, and that could hurt some workloads quite a lot, I expect. > > > > Why is it unfixable? Just ignore nr_to_write, and write out everything > > properly, I would have thought. > > That can cause fsync to wait arbitrarily long if some other process is > writing the file.
It can be fixed without touching non-fsync paths (see my next email for the way to fix it without touching fastpaths).
> This happens.
What does such a thing? It would have been nicer to ask them to not do that then, or get them to use range syncs or something. Now that's much harder because we've accepted the crappy workaround for so long.
It's far far worse to just ignore data integrity of fsync because of the problem. Should at least have returned an error from fsync in that case, or make it interruptible or something.
|  |