On Tue, Sep 26, 2017 at 7:33 AM, Christoph Hellwig <hch@xxxxxx> wrote: > On Tue, Sep 26, 2017 at 06:59:37AM -0700, Dan Williams wrote: >> > I think you probably want an IOCB_DAX flag to check IS_DAX once and >> > then stick to it, similar to what we do for direct I/O. >> >> I wonder if this works better with a reference count mechanism >> per-file so that we don't need a hold a lock over the whole >> transition. Similar to request_queue reference counting, when DAX is >> being turned off we block new references and drain the in-flight ones. > > Maybe. But that assumes we want to be stuck in a perpetual binary > DAX on/off state on a given file. Which makes not only for an awkward > interface (inode or mount flag), but also might be fundamentally the > wrong thing to do for some media where you'd happily read directly > from it but rather buffer writes in DRAM. I think we'll always need an explicit override available, but yes we need to think about what the override looks like in the context of a kernel that is able to automatically pick the right I/O policy relative to the media type. A potential mixed policy for reads vs writes makes sense. Where would this finer grained I/O policy selection go other than more inode flags? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>