Messages in this thread | | | Subject | Re: msync() behaviour broken for MS_ASYNC, revert patch? | From | "Stephen C. Tweedie" <> | Date | 19 Apr 2004 22:54:18 +0100 |
| |
Hi,
On Fri, 2004-04-16 at 23:35, Jamie Lokier wrote: > Stephen C. Tweedie wrote: > > I've been looking at a discrepancy between msync() behaviour on 2.4.9 > > and newer 2.4 kernels, and it looks like things changed again in > > 2.5.68. > > When you say a discrepancy between 2.4.9 and newer 2.4 kernels, do you > mean that the msync() behaviour changed during the 2.4 series?
Yes.
> If so, what was the change?
2.4.9 behaved like current 2.6 --- on MS_ASYNC, it did a set_page_dirty() which means the page will get picked up by the next 5-second bdflush pass. But later 2.4 kernels were changed so that they started MS_ASYNC IO immediately with filemap_fdatasync() (which is asynchronous regarding the new IO, but which blocks synchronously if there is already old IO in flight on the page.)
That was reverted back to the earlier, 2.4.9 behaviour in the 2.5 series.
Cheers, Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |