On Tue, Jan 29, 2019 at 10:49 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote: > > 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> Good catch. Notch one more line saved in the incremental diffstat from v8. I'll wait for Michal's thumbs up on the rest before re-spinning, or perhaps Andrew can drop this line on applying?