Messages in this thread | | | Date | Thu, 12 Sep 2019 03:44:01 +0300 | From | "Kirill A. Shutemov" <> | 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
| |