On Wed, Jan 09, 2019 at 05:18:21PM -0800, Linus Torvalds wrote: > On Wed, Jan 9, 2019 at 4:44 PM Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > > > I wouldn't look at ext4 as an example of a reliable, problem free > > direct IO implementation because, historically speaking, it's been a > > series of nasty hacks (*cough* mount -o dioread_nolock *cough*) and > > been far worse than XFS from data integrity, performance and > > reliability perspectives. > > That's some big words from somebody who just admitted to much worse hacks. Sorry, what hacks did I just admit to making? This O_DIRECT behaviour long predates me - I'm just the messenger and you are shooting from the hip. Linus, the point I was making is that there are many, many ways to control page cache invalidation and measure page cache residency, and that trying to address them one-by-one is just a game of whack-a-mole. In future, can you please try not to go off the rails when someone mentions O_DIRECT? You have a terrible habit of going off on misdirected rants about O_DIRECT and/or XFS at any opportunity you can get, and all it does is derail whatever useful conversation was taking place. > Seriously. XFS is buggy in this regard, ext4 apparently isn't. So you keep asserting despite being presented with evidence that it mitigates other longstanding bugs that are really hard to solve. Ignoring all the evidence you've been presented with and re-asserting your original statement doesn't make it correct. Did you not think to ask "what are those problems, and what can do to solve them so we can remove the invalidation mitigations that XFS uses?". That would be a useful contribution, whereas shouting about how O_DIRECT is broken just pisses off the people working their asses off to fix the problems you just heard about and are ranting about. > Thinking that it's better to just invalidate the cache for direct IO > reads is all kinds of odd. No, it's practicality. If we can't fix the problem, we have to mitigate it. When we fix the underlying problem we can remove the mitigation code. having you assert that it's broken and demand that it be removed doesn't change the fact that we haven't fixed the underlying problems. It's being worked on, but we're not there yet. -Dave. -- Dave Chinner david@xxxxxxxxxxxxx