From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 3 Oct 2018 14:50:56 +0200 From: Jan Kara To: Dan Williams Cc: Jan Kara , Christoph Hellwig , Johannes Thumshirn , Dave Jiang , linux-nvdimm , Linux MM , linux-fsdevel , linux-ext4 , linux-xfs , Linux API Subject: Re: Problems with VM_MIXEDMAP removal from /proc//smaps Message-ID: <20181003125056.GA21043@quack2.suse.cz> References: <20181002100531.GC4135@quack2.suse.cz> <20181002121039.GA3274@linux-x5ow.site> <20181002142959.GD9127@quack2.suse.cz> <20181002143713.GA19845@infradead.org> <20181002144412.GC4963@linux-x5ow.site> <20181002145206.GA10903@infradead.org> <20181002153100.GG9127@quack2.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: On Tue 02-10-18 13:18:54, Dan Williams wrote: > On Tue, Oct 2, 2018 at 8:32 AM Jan Kara wrote: > > > > On Tue 02-10-18 07:52:06, Christoph Hellwig wrote: > > > On Tue, Oct 02, 2018 at 04:44:13PM +0200, Johannes Thumshirn wrote: > > > > On Tue, Oct 02, 2018 at 07:37:13AM -0700, Christoph Hellwig wrote: > > > > > No, it should not. DAX is an implementation detail thay may change > > > > > or go away at any time. > > > > > > > > Well we had an issue with an application checking for dax, this is how > > > > we landed here in the first place. > > > > > > So what exacty is that "DAX" they are querying about (and no, I'm not > > > joking, nor being philosophical). > > > > I believe the application we are speaking about is mostly concerned about > > the memory overhead of the page cache. Think of a machine that has ~ 1TB of > > DRAM, the database running on it is about that size as well and they want > > database state stored somewhere persistently - which they may want to do by > > modifying mmaped database files if they do small updates... So they really > > want to be able to use close to all DRAM for the DB and not leave slack > > space for the kernel page cache to cache 1TB of database files. > > VM_MIXEDMAP was never a reliable indication of DAX because it could be > set for random other device-drivers that use vm_insert_mixed(). The > MAP_SYNC flag positively indicates that page cache is disabled for a > given mapping, although whether that property is due to "dax" or some > other kernel mechanics is purely an internal detail. > > I'm not opposed to faking out VM_MIXEDMAP if this broken check has > made it into production, but again, it's unreliable. So luckily this particular application wasn't widely deployed yet so we will likely get away with the vendor asking customers to update to a version not looking into smaps and parsing /proc/mounts instead. But I don't find parsing /proc/mounts that beautiful either and I'd prefer if we had a better interface for applications to query whether they can avoid page cache for mmaps or not. Honza -- Jan Kara SUSE Labs, CR