On Fri, Nov 29, 2019 at 4:09 PM Andrey Konovalov <andreyknvl@xxxxxxxxxx> wrote: > > On Fri, Nov 22, 2019 at 12:27 PM <glider@xxxxxxxxxx> wrote: > > > > This is a hack to reduce stackdepot pressure. > > I think this patch needs a better description :) Like in the comment below. > > > > > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx> > > To: Alexander Potapenko <glider@xxxxxxxxxx> > > Cc: Vegard Nossum <vegard.nossum@xxxxxxxxxx> > > Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > > Cc: linux-mm@xxxxxxxxx > > > > --- > > > > Change-Id: I22a201e7e4f67ed74f8129072f12e5351b26103a > > --- > > mm/mmu_gather.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/mm/mmu_gather.c b/mm/mmu_gather.c > > index 7d70e5c78f97..8c5ea2d2e7d5 100644 > > --- a/mm/mmu_gather.c > > +++ b/mm/mmu_gather.c > > @@ -1,6 +1,7 @@ > > #include <linux/gfp.h> > > #include <linux/highmem.h> > > #include <linux/kernel.h> > > +#include <linux/kmsan-checks.h> > > #include <linux/mmdebug.h> > > #include <linux/mm_types.h> > > #include <linux/pagemap.h> > > @@ -206,6 +207,15 @@ void tlb_flush_mmu(struct mmu_gather *tlb) > > void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, > > unsigned long start, unsigned long end) > > { > > + /* > > + * TODO(glider): struct mmu_gather contains 7 1-bit fields packed into a > > Remove TODO? Will do, thanks! > > + * 32-bit unsigned int value. The remaining 25 bits remain uninitialized > > + * and are never used, but KMSAN updates the origin for them in > > + * zap_pXX_range() in mm/memory.c, thus creating very long origin > > + * chains. This is technically correct, but consumes too much memory. > > + * Unpoisoning the whole structure will prevent creating such chains. > > + */ > > + kmsan_unpoison_shadow(tlb, sizeof(*tlb)); > > tlb->mm = mm; > > > > /* Is it from 0 to ~0? */ > > -- > > 2.24.0.432.g9d3f5f5b63-goog > > -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg