[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPcyv4jLFQ_ZGqBJK_xaVctMopdhdXEi7BzD=MA_VRucoNhKXQ@mail.gmail.com>
Date: Wed, 30 Jan 2019 10:30:16 -0800
From: Dan Williams <dan.j.williams@...el.com>
To: Mike Rapoport <rppt@...ux.ibm.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Michal Hocko <mhocko@...e.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Kees Cook <keescook@...omium.org>,
Linux MM <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v9 1/3] mm: Shuffle initial free memory to improve
memory-side-cache utilization
On Tue, Jan 29, 2019 at 10:49 PM Mike Rapoport <rppt@...ux.ibm.com> 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@...e.com>
> > Cc: Dave Hansen <dave.hansen@...ux.intel.com>
> > Cc: Mike Rapoport <rppt@...ux.ibm.com>
> > Reviewed-by: Kees Cook <keescook@...omium.org>
> > Signed-off-by: Dan Williams <dan.j.williams@...el.com>
> > ---
> > 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?
Powered by blists - more mailing lists