All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] x86/platform/UV: Update Memory Block Size Setting
@ 2018-05-10 23:18 mike.travis
  2018-05-10 23:18 ` [PATCH 1/3] x86/platform/UV: Add adjustable set memory block size function mike.travis
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: mike.travis @ 2018-05-10 23:18 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Andrew Morton
  Cc: Dimitri Sivanich, Russ Anderson, Andrew Banman, jgross,
	dan.j.williams, mhocko, kirill.shutemov, x86, linux-kernel,
	stable


Update support for the UV kernel to accommodate Intel BIOS changes in
NVDIMM alignment, which caused UV BIOS to align the memory boundaries
on different blocks than the previous UV standard of 2GB.

-- 

^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH 0/3] x86/platform/UV: Update Memory Block Size Setting
@ 2018-05-24 20:17 mike.travis
  0 siblings, 0 replies; 12+ messages in thread
From: mike.travis @ 2018-05-24 20:17 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Andrew Morton
  Cc: Dimitri Sivanich, Russ Anderson, Andrew Banman, jgross,
	dan.j.williams, mhocko, kirill.shutemov, x86, linux-kernel


Update support for the UV kernel to accommodate Intel BIOS changes in
NVDIMM alignment, which caused UV BIOS to align the memory boundaries
on different blocks than the previous UV standard of 2GB.

Background: Since 2009 the UV arch dependent support has used 2GB as the
memory block size mainly to reduce the number of physical memory blocks
when a 16TB memory capable machine was introduced.  This significantly
reduced the time to initialize memory during system startup, and
has worked fine until Intel added PMEM NVDIMM's to the architecture.
This has caused the alignment boundary to be reduced to whatever is
needed to accommodate these new devices.

There are no other changes suggested by this patch set.  Basically the
previous strict boundary of 2GB has been relaxed to allow the arch
dependent code to adjust this memory block size depending on the
system requirements of the running environment.

* Patch 1
  Add a function for any arch dependent call to "adjust" this fixed
  memory block size.

* Patch 2
  Add a function to check what the minimum memory block size that can
  be used to accommodate where BIOS has set the boundaries for all of
  memory placement within node ranges.

* Patch 3
  Add a UV specific kernel arg to adjust for other memory block size
  adjustments that may be required with future new DIMM restrictions.
  Note that it can be raised (to 64GB) as well as lowered.  This should
  allow potential testing when the number of physical address bits are
  raised from the current 46 bit limit to 52 bits.

Note that an option I did consider was to make Patch 3 a more generic
function for all arches to use (IOW, with or without CONFIG_X86_UV set).
Opinions welcome about this.

-- 

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-05-24 20:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-10 23:18 [PATCH 0/3] x86/platform/UV: Update Memory Block Size Setting mike.travis
2018-05-10 23:18 ` [PATCH 1/3] x86/platform/UV: Add adjustable set memory block size function mike.travis
2018-05-11  5:24   ` Greg KH
2018-05-10 23:18 ` [PATCH 2/3] x86/platform/UV: Use new " mike.travis
2018-05-11  5:24   ` Greg KH
2018-05-10 23:18 ` [PATCH 3/3] x86/platform/UV: Add kernel parameter to set memory block size mike.travis
2018-05-11  5:24   ` Greg KH
2018-05-11  5:24 ` [PATCH 0/3] x86/platform/UV: Update Memory Block Size Setting Greg KH
2018-05-11  6:48 ` Michal Hocko
2018-05-15 16:08   ` Mike Travis
2018-05-16 11:09     ` Michal Hocko
2018-05-24 20:17 mike.travis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.