On Wed, 7 Mar 2007 01:29:03 -0800 Bill Irwin <[EMAIL PROTECTED]> wrote: >> Guess what major real-life application not only uses nonlinear daily >> but would even be very happy to see it extended with non-vma-creating >> protections and more?
On Wed, Mar 07, 2007 at 01:39:42AM -0800, Andrew Morton wrote: > uh-oh. SQL server? Close enough. ;) On Wed, 7 Mar 2007 01:29:03 -0800 Bill Irwin <[EMAIL PROTECTED]> wrote: >> It's not terribly typical for things to be >> truncated while remap_file_pages() is doing its work, though it's been >> proposed as a method of dynamism. It won't stress remap_file_pages() vs. >> truncate() in any meaningful way, though, as userspace will be rather >> diligent about clearing in-use data out of the file offset range to be >> truncated away anyway, and all that via O_DIRECT. On Wed, Mar 07, 2007 at 01:39:42AM -0800, Andrew Morton wrote: > The problem here isn't related to truncate or direct-IO. It's just > plain-old MAP_SHARED. nonlinear VMAs are now using the old-style > dirty-memory management. msync() is basically a no-op and the code is > wildly tricky and pretty much untested. The chances that we broke it are > considerable. This would be of concern for swapping out tmpfs-backed nonlinearly- mapped files under extreme stress in Oracle's case, though it's rather typical for it all to be mlock()'d in-core and cases where that's necessary to be considered grossly underprovisioned. As far as I know, msync() is not used to manage the nonlinearly-mapped objects, which are most typically expected to be memory-backed, rendering writeback to disk of questionable value. Also quite happily, I'm not aware of any data integrity issues it would explain. Bug though it may be, it requires a usage model very rarely used by Oracle to trigger, so we've not run into it. -- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/