[lkml]   [2002]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: fadvise syscall?
Anton Altaparmakov writes:
> Last time I heard serious databases use their own memmory
> management/caching in combination with O_DIRECT, i.e. they bypass the
> kernel's buffering system completely. Hence I would deem them irrelevant
> the problem at hand...
> If a database were not to use O_DIRECT I would think it would be using
> so it would have madvise already... but I am not a database expert so take
> this with a pinch of salt...

I don't think that either MySQL or PostgreSQL use O_DIRECT; I just grepped
the source and didn't find it. They can't use mmap() because it uses up too
much process address space.

It's true that commercial databases mostly do their own scheduling and
caching, and if they are the only thing running on your system and you tune
them right, that works. But it's not necessarily a good thing. If there
are other processes on your system, there would be a benefit if the DBMS
could inform the operating system of its intentions.

A posix_fadvise() call would be a start, but you could potentially go beyond
that. For some interesting ideas, see
Seltzer, M., Small, C., Smith, K., "The Case for Extensible Operating
Harvard University Center for Research in Computing Technology TR16 -95
(July 1995).

Ken Hirsch

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:25    [W:0.049 / U:39.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site