Re: O_DIRECT question

From: Alex Tomas
Date: Wed Jan 17 2007 - 09:43:01 EST



I think one problem with mmap/msync is that they can't maintain
i_size atomically like regular write does. so, one needs to
implement own i_size management in userspace.

thanks, Alex

> Side note: the only reason O_DIRECT exists is because database people are
> too used to it, because other OS's haven't had enough taste to tell them
> to do it right, so they've historically hacked their OS to get out of the
> way.

> As a result, our madvise and/or posix_fadvise interfaces may not be all
> that strong, because people sadly don't use them that much. It's a sad
> example of a totally broken interface (O_DIRECT) resulting in better
> interfaces not getting used, and then not getting as much development
> effort put into them.

> So O_DIRECT not only is a total disaster from a design standpoint (just
> look at all the crap it results in), it also indirectly has hurt better
> interfaces. For example, POSIX_FADV_NOREUSE (which _could_ be a useful and
> clean interface to make sure we don't pollute memory unnecessarily with
> cached pages after they are all done) ends up being a no-op ;/

> Sad. And it's one of those self-fulfilling prophecies. Still, I hope some
> day we can just rip the damn disaster out.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/