On Wed, Mar 6, 2019 at 8:03 AM Jerome Glisse <jglisse@xxxxxxxxxx> wrote: > > On Wed, Mar 06, 2019 at 07:57:30AM -0800, Dan Williams wrote: > > On Wed, Mar 6, 2019 at 7:51 AM Jerome Glisse <jglisse@xxxxxxxxxx> wrote: > > > > > > On Tue, Mar 05, 2019 at 08:20:10PM -0800, Dan Williams wrote: > > > > On Tue, Mar 5, 2019 at 2:16 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > > > > > On Wed, 30 Jan 2019 21:44:46 -0800 Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > Another way to help allay these worries is commit to no new exports > > > > > > > > without in-tree users. In general, that should go without saying for > > > > > > > > any core changes for new or future hardware. > > > > > > > > > > > > > > I always intend to have an upstream user the issue is that the device > > > > > > > driver tree and the mm tree move a different pace and there is always > > > > > > > a chicken and egg problem. I do not think Andrew wants to have to > > > > > > > merge driver patches through its tree, nor Linus want to have to merge > > > > > > > drivers and mm trees in specific order. So it is easier to introduce > > > > > > > mm change in one release and driver change in the next. This is what > > > > > > > i am doing with ODP. Adding things necessary in 5.1 and working with > > > > > > > Mellanox to have the ODP HMM patch fully tested and ready to go in > > > > > > > 5.2 (the patch is available today and Mellanox have begin testing it > > > > > > > AFAIK). So this is the guideline i will be following. Post mm bits > > > > > > > with driver patches, push to merge mm bits one release and have the > > > > > > > driver bits in the next. I do hope this sound fine to everyone. > > > > > > > > > > > > The track record to date has not been "merge HMM patch in one release > > > > > > and merge the driver updates the next". If that is the plan going > > > > > > forward that's great, and I do appreciate that this set came with > > > > > > driver changes, and maintain hope the existing exports don't go > > > > > > user-less for too much longer. > > > > > > > > > > Decision time. Jerome, how are things looking for getting these driver > > > > > changes merged in the next cycle? > > > > > > > > > > Dan, what's your overall take on this series for a 5.1-rc1 merge? > > > > > > > > My hesitation would be drastically reduced if there was a plan to > > > > avoid dangling unconsumed symbols and functionality. Specifically one > > > > or more of the following suggestions: > > > > > > > > * EXPORT_SYMBOL_GPL on all exports to avoid a growing liability > > > > surface for out-of-tree consumers to come grumble at us when we > > > > continue to refactor the kernel as we are wont to do. > > > > > > > > * A commitment to consume newly exported symbols in the same merge > > > > window, or the following merge window. When that goal is missed revert > > > > the functionality until such time that it can be consumed, or > > > > otherwise abandoned. > > > > > > > > * No new symbol exports and functionality while existing symbols go unconsumed. > > > > > > > > These are the minimum requirements I would expect my work, or any > > > > core-mm work for that matter, to be held to, I see no reason why HMM > > > > could not meet the same. > > > > > > nouveau use all of this and other driver patchset have been posted to > > > also use this API. > > > > > > > On this specific patch I would ask that the changelog incorporate the > > > > motivation that was teased out of our follow-on discussion, not "There > > > > is no reason not to support that case." which isn't a justification. > > > > > > mlx5 wants to use HMM without DAX support it would regress mlx5. Other > > > driver like nouveau also want to access DAX filesystem. So yes there is > > > no reason not to support DAX filesystem. Why do you not want DAX with > > > mirroring ? You want to cripple HMM ? Why ? > > > > There is a misunderstanding... my request for this patch was to update > > the changelog to describe the merits of DAX mirroring to replace the > > "There is no reason not to support that case." Otherwise someone > > reading this changelog in a year will wonder what the motivation was. > > So what about: > > HMM mirroring allow device to mirror process address onto device > there is no reason for that mirroring to not work if the virtual > address are the result of an mmap of a file on DAX enabled file- > system. Looks like an improvement to me.