Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1618440

Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using ZONE_DEVICE

From Balbir Singh <bsingharora@gmail.com>
Newsgroups linux.kernel
Subject Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using ZONE_DEVICE
Date 2017-04-07 03:40 +0200
Message-ID <ttr2y-oT-11@gated-at.bofh.it> (permalink)
References <tt02l-7qU-3@gated-at.bofh.it> <tt02l-7qU-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, 2017-04-05 at 16:40 -0400, Jérôme Glisse wrote:
> This introduce a simple struct and associated helpers for device driver
> to use when hotpluging un-addressable device memory as ZONE_DEVICE. It
> will find a unuse physical address range and trigger memory hotplug for
> it which allocates and initialize struct page for the device memory.
> 
> Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
> Signed-off-by: Evgeny Baskakov <ebaskakov@nvidia.com>
> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
> Signed-off-by: Mark Hairgrove <mhairgrove@nvidia.com>
> Signed-off-by: Sherry Cheung <SCheung@nvidia.com>
> Signed-off-by: Subhash Gutti <sgutti@nvidia.com>
> ---
>  include/linux/hmm.h | 114 +++++++++++++++
>  mm/Kconfig          |   9 ++
>  mm/hmm.c            | 398 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 521 insertions(+)
> 
> +/*
> + * To add (hotplug) device memory, HMM assumes that there is no real resource
> + * that reserves a range in the physical address space (this is intended to be
> + * use by unaddressable device memory). It will reserve a physical range big
> + * enough and allocate struct page for it.

I've found that the implementation of this is quite non-portable, in that
starting from iomem_resource.end+1-size (which is effectively -size) on
my platform (powerpc) does not give expected results. It could be that
additional changes are needed to arch_add_memory() to support this
use case.

> +
> +	size = ALIGN(size, SECTION_SIZE);
> +	addr = (iomem_resource.end + 1ULL) - size;


Why don't we allocate_resource() with the right constraints and get a new
unused region?

Thanks,
Balbir

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[HMM 14/16] mm/hmm/devmem: device memory hotplug using ZONE_DEVICE Jérôme Glisse <jglisse@redhat.com> - 2017-04-05 22:50 +0200
  Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using  ZONE_DEVICE Jerome Glisse <jglisse@redhat.com> - 2017-04-06 23:30 +0200
  Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using  ZONE_DEVICE Balbir Singh <bsingharora@gmail.com> - 2017-04-07 03:40 +0200
    Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using  ZONE_DEVICE Jerome Glisse <jglisse@redhat.com> - 2017-04-07 04:10 +0200
      Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using  ZONE_DEVICE Jerome Glisse <jglisse@redhat.com> - 2017-04-07 18:30 +0200
        Re: [HMM 14/16] mm/hmm/devmem: device memory hotplug using  ZONE_DEVICE Balbir Singh <bsingharora@gmail.com> - 2017-04-10 06:40 +0200

csiph-web