[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190912004401.jdemtajrspetk3fh@box>
Date: Thu, 12 Sep 2019 03:44:01 +0300
From: "Kirill A. Shutemov" <kirill@...temov.name>
To: Yu Zhao <yuzhao@...gle.com>
Cc: Christoph Lameter <cl@...ux.com>,
Pekka Enberg <penberg@...nel.org>,
David Rientjes <rientjes@...gle.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] mm: avoid slub allocation while holding list_lock
On Wed, Sep 11, 2019 at 06:29:28PM -0600, Yu Zhao wrote:
> If we are already under list_lock, don't call kmalloc(). Otherwise we
> will run into deadlock because kmalloc() also tries to grab the same
> lock.
>
> Instead, statically allocate bitmap in struct kmem_cache_node. Given
> currently page->objects has 15 bits, we bloat the per-node struct by
> 4K. So we waste some memory but only do so when slub debug is on.
Why not have single page total protected by a lock?
Listing object from two pages at the same time doesn't make sense anyway.
Cuncurent validating is not something sane to do.
--
Kirill A. Shutemov
Powered by blists - more mailing lists