Messages in this thread | | | Date | Fri, 10 Oct 2003 17:01:44 +0100 | From | Jamie Lokier <> | Subject | Re: statfs() / statvfs() syscall ballsup... |
| |
Joel Becker wrote: > Where I work doesn't change the need for O_DIRECT. If your Big > App has it's own cache, why copy the cache in the kernel? That just > wastes RAM.
Why don't you _share_ the App's cache with the kernel's? That's what mmap() and remap_file_pages() are for.
> If your app is sharing data, whether physical disk, logical > disk, or via some network filesystem or storage device, you must > absolutely guarantee that reads and writes hit the storage, not the > kernel cache which has no idea whether another node wrote an update or > needs a cache flush.
That's tough to guarantee at the platter level regardless of O_DIRECT, but otherwise: you have fdatasync() and msync().
> If Linux came up with a better, cleaner method, Oracle might change.
Take a look at remap_file_pages() and write a note here to say if it fits the bill. I thought remap_file_pages() was added for Oracle, but perhaps it was for a more modern database ;)
Thanks, -- Jamie - 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/
| |