On Tue, Jan 29, 2019 at 09:02:16PM -0800, Dan Williams wrote: > Randomization of the page allocator improves the average utilization of > a direct-mapped memory-side-cache. Memory side caching is a platform > capability that Linux has been previously exposed to in HPC > (high-performance computing) environments on specialty platforms. In > that instance it was a smaller pool of high-bandwidth-memory relative to > higher-capacity / lower-bandwidth DRAM. Now, this capability is going to > be found on general purpose server platforms where DRAM is a cache in > front of higher latency persistent memory [1]. [ ... ] > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Cc: Mike Rapoport <rppt@xxxxxxxxxxxxx> > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > --- > include/linux/list.h | 17 ++++ > include/linux/mmzone.h | 4 + > include/linux/shuffle.h | 45 +++++++++++ > init/Kconfig | 23 ++++++ > mm/Makefile | 7 ++ > mm/memblock.c | 1 > mm/memory_hotplug.c | 3 + > mm/page_alloc.c | 6 +- > mm/shuffle.c | 188 +++++++++++++++++++++++++++++++++++++++++++++++ > 9 files changed, 292 insertions(+), 2 deletions(-) > create mode 100644 include/linux/shuffle.h > create mode 100644 mm/shuffle.c ... > diff --git a/mm/memblock.c b/mm/memblock.c > index 022d4cbb3618..c0cfbfae4a03 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -17,6 +17,7 @@ > #include <linux/poison.h> > #include <linux/pfn.h> > #include <linux/debugfs.h> > +#include <linux/shuffle.h> Nit: does not seem to be required > #include <linux/kmemleak.h> > #include <linux/seq_file.h> > #include <linux/memblock.h> -- Sincerely yours, Mike.