Jason Gunthorpe
2019-Jun-13 19:44 UTC
[Nouveau] [PATCH 18/22] mm: mark DEVICE_PUBLIC as broken
On Thu, Jun 13, 2019 at 11:43:21AM +0200, Christoph Hellwig wrote:> The code hasn't been used since it was added to the tree, and doesn't > appear to actually be usable. Mark it as BROKEN until either a user > comes along or we finally give up on it. > > Signed-off-by: Christoph Hellwig <hch at lst.de> > mm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/Kconfig b/mm/Kconfig > index 0d2ba7e1f43e..406fa45e9ecc 100644 > +++ b/mm/Kconfig > @@ -721,6 +721,7 @@ config DEVICE_PRIVATE > config DEVICE_PUBLIC > bool "Addressable device memory (like GPU memory)" > depends on ARCH_HAS_HMM > + depends on BROKEN > select HMM > select DEV_PAGEMAP_OPSThis seems a bit harsh, we do have another kconfig that selects this one today: config DRM_NOUVEAU_SVM bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support" depends on ARCH_HAS_HMM depends on DRM_NOUVEAU depends on STAGING select HMM_MIRROR select DEVICE_PRIVATE default n help Say Y here if you want to enable experimental support for Shared Virtual Memory (SVM). Maybe it should be depends on STAGING not broken? or maybe nouveau_svm doesn't actually need DEVICE_PRIVATE? Jason
Ralph Campbell
2019-Jun-13 19:53 UTC
[Nouveau] [PATCH 18/22] mm: mark DEVICE_PUBLIC as broken
On 6/13/19 12:44 PM, Jason Gunthorpe wrote:> On Thu, Jun 13, 2019 at 11:43:21AM +0200, Christoph Hellwig wrote: >> The code hasn't been used since it was added to the tree, and doesn't >> appear to actually be usable. Mark it as BROKEN until either a user >> comes along or we finally give up on it. >> >> Signed-off-by: Christoph Hellwig <hch at lst.de> >> mm/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/mm/Kconfig b/mm/Kconfig >> index 0d2ba7e1f43e..406fa45e9ecc 100644 >> +++ b/mm/Kconfig >> @@ -721,6 +721,7 @@ config DEVICE_PRIVATE >> config DEVICE_PUBLIC >> bool "Addressable device memory (like GPU memory)" >> depends on ARCH_HAS_HMM >> + depends on BROKEN >> select HMM >> select DEV_PAGEMAP_OPS > > This seems a bit harsh, we do have another kconfig that selects this > one today: > > config DRM_NOUVEAU_SVM > bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support" > depends on ARCH_HAS_HMM > depends on DRM_NOUVEAU > depends on STAGING > select HMM_MIRROR > select DEVICE_PRIVATE > default n > help > Say Y here if you want to enable experimental support for > Shared Virtual Memory (SVM). > > Maybe it should be depends on STAGING not broken? > > or maybe nouveau_svm doesn't actually need DEVICE_PRIVATE? > > JasonI think you are confusing DEVICE_PRIVATE for DEVICE_PUBLIC. DRM_NOUVEAU_SVM does use DEVICE_PRIVATE but not DEVICE_PUBLIC.
Jason Gunthorpe
2019-Jun-13 19:58 UTC
[Nouveau] [PATCH 18/22] mm: mark DEVICE_PUBLIC as broken
On Thu, Jun 13, 2019 at 12:53:02PM -0700, Ralph Campbell wrote:> > On 6/13/19 12:44 PM, Jason Gunthorpe wrote: > > On Thu, Jun 13, 2019 at 11:43:21AM +0200, Christoph Hellwig wrote: > > > The code hasn't been used since it was added to the tree, and doesn't > > > appear to actually be usable. Mark it as BROKEN until either a user > > > comes along or we finally give up on it. > > > > > > Signed-off-by: Christoph Hellwig <hch at lst.de> > > > mm/Kconfig | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/mm/Kconfig b/mm/Kconfig > > > index 0d2ba7e1f43e..406fa45e9ecc 100644 > > > +++ b/mm/Kconfig > > > @@ -721,6 +721,7 @@ config DEVICE_PRIVATE > > > config DEVICE_PUBLIC > > > bool "Addressable device memory (like GPU memory)" > > > depends on ARCH_HAS_HMM > > > + depends on BROKEN > > > select HMM > > > select DEV_PAGEMAP_OPS > > > > This seems a bit harsh, we do have another kconfig that selects this > > one today: > > > > config DRM_NOUVEAU_SVM > > bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support" > > depends on ARCH_HAS_HMM > > depends on DRM_NOUVEAU > > depends on STAGING > > select HMM_MIRROR > > select DEVICE_PRIVATE > > default n > > help > > Say Y here if you want to enable experimental support for > > Shared Virtual Memory (SVM). > > > > Maybe it should be depends on STAGING not broken? > > > > or maybe nouveau_svm doesn't actually need DEVICE_PRIVATE? > > > > Jason > > I think you are confusing DEVICE_PRIVATE for DEVICE_PUBLIC. > DRM_NOUVEAU_SVM does use DEVICE_PRIVATE but not DEVICE_PUBLIC.Indeed you are correct, never mind Hum, so the only thing this config does is short circuit here: static inline bool is_device_public_page(const struct page *page) { return IS_ENABLED(CONFIG_DEV_PAGEMAP_OPS) && IS_ENABLED(CONFIG_DEVICE_PUBLIC) && is_zone_device_page(page) && page->pgmap->type == MEMORY_DEVICE_PUBLIC; } Which is called all over the place.. So, yes, we really don't want any distro or something to turn this on until it has a use. Reviewed-by: Jason Gunthorpe <jgg at mellanox.com> Jason