Messages in this thread | | | Date | Wed, 09 Oct 2002 21:36:11 +0200 | From | Giuliano Pochini <> | Subject | Re: [PATCH] O_STREAMING - flag for optimal streaming I/O |
| |
> > Does it drop pages unconditionally ? What happens if I do a > > streaming_cat largedatabase > /dev/null while other processes > > are working on it ? It's not a good thing to remove the whole > > cached data other apps are working on. > > Anybody could make the cache thrash. I don't see this as an argument against > O_STREAMING (whether explicitly activated, or dynamically activated).
In fact it isn't. But I don't undestand why we unconditionally discard a page after it has been read. Yes, I told the kernel I will not need it anymore, but someone else could need it. I'm not a kernel hacker and I don't know if this is possible: when a page is read from disk by a O_STR file flag it "kill me first when needed, otherwise leave me in memory", and if a page is already cache, just use it and change nothing. This will preserve data used by other processes, and the data I've just read if there is room. Free memory is wasted momory. Don't drop caches if nobody need memory.
Bye. - 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/
| |