Re: [PATCH 18/22] mm: mark DEVICE_PUBLIC as broken

Jason Gunthorpe
2019-06-13T19:58:35Z

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@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@mellanox.com>

Jason