Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp927728pxv; Fri, 9 Jul 2021 12:30:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/xY02oWVHP6KpcNw0fg+pMy+wHsDnKkwBJNozIJ6zwyuPFESf7ZXjJJ7oSAdUBuwcbzHV X-Received: by 2002:a92:d482:: with SMTP id p2mr28226347ilg.79.1625859007015; Fri, 09 Jul 2021 12:30:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625859007; cv=none; d=google.com; s=arc-20160816; b=M0hqTPcUBHT49rVxPWQ0zUTlCLl+hxUBfozP5uaIeq7dWP5olE3URhgMFqbjw3gSij Kr6sjYwkWAGkp5Gq1xDRUsCBaiQyEqp+QM84+PG5Fr7VirxOQgG0gd1fYFFwUaazexAd THcoK6Evqc5ktHhtEgd+fg8xzm3QZrmYIeHpiCHrsDKWeeVaVyhQWCbRSdPoGTKBVfDu aIqETQF+kNgRr3M6w14/UzCzNZ5RHRmS15U2lt6HABrZsCIc9E/AlIstGzqM4sV6wctX ENBfVpV8WSokV4YIG+ETsFpnAr8Jb+hAUGfGlZvYu4yY4hGTIwcd8PqV+aBAf5iAKzHg VlSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=SnJkV5Eue+q5YG0ekrQ5djRZ/pRdO+saRQkDIqHszro=; b=Kq5aBn5AnnqChAB4+mVjK2q71qIFN5Yi1yMJITfO8+P+KKh6xUJ0p832Tt7YVzZKGh Zt367Jy0dH9UwRwUrzn6izEV2jvYiFp76gWOMXu3ZXDRr3t4zaj8w3OLVAlN0MjMRdRh SK33bwF836Rxfo9up8D3R5l5OhS1kW34WV7Xw7bXHhQRKnvrIQXN/dIX4LOTQwQ8Byut XBWq0eXq4ogyofTcVR6TWq5UZ2dQKBBkNw2T4WyflspaF+4qd8zhyL7DjEswiIjRGVVq v8vOOTzZqgT+gSAqnuCPq+wVhOKvP0lE2BaPGJ1BJDPzSoVe8LDu0+iScNW0wNaDS5eW DpCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=tyfif7CG; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y6si6863776jai.101.2021.07.09.12.29.53; Fri, 09 Jul 2021 12:30:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=tyfif7CG; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230328AbhGITa4 (ORCPT + 99 others); Fri, 9 Jul 2021 15:30:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230109AbhGITa4 (ORCPT ); Fri, 9 Jul 2021 15:30:56 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7CF71C0613DD; Fri, 9 Jul 2021 12:28:12 -0700 (PDT) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1625858890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=SnJkV5Eue+q5YG0ekrQ5djRZ/pRdO+saRQkDIqHszro=; b=tyfif7CGd9NFgPoSj8tJTrk3W/Snnx0BIGGKKd335ukMUV8eonIZzHI4YeG1GwyHreDXMo emlPYODwK9YowD3J37QUhnMmMefJ0uIDIzH67rfPEhNQUtOx9OrJlBoAtbQUyU0pBWMm0/ /RyC8lbo8aiAMsSXsNWC5I/mHNIeH6rdq2e19IVRSnumrttzTI7AiMZHOzE15WqUoqnI67 NWLENNSBfLujTnBEMeNig7lLckSFvrJy4hGpPfESdnndwCsJtT3mYOegyGLHjVd8OF5wdJ dOGRBY1ys/Z19RGB629aiWKmuIK1eKeXx26sOaOe3+xr/2gUymfyHkPqQNks7w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1625858890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=SnJkV5Eue+q5YG0ekrQ5djRZ/pRdO+saRQkDIqHszro=; b=SF0R0xXgLXf6E4LieE82EgTOdq/BG/vWxteWTPd0GdhJ0alIsHXObTS+NIlIS/VVBamuOo MmxCaFneTp3NglCw== To: Mike Galbraith , LKML Cc: linux-rt-users@vger.kernel.org, Mel Gorman , Vlastimil Babka , Sebastian Andrzej Siewior Subject: Re: [rfc/patch] mm/slub: restore/expand unfreeze_partials() local exclusion scope In-Reply-To: <8c0e0c486056b5185b58998f2cce62619ed3f05c.camel@gmx.de> References: <87tul5p2fa.ffs@nanos.tec.linutronix.de> <8c0e0c486056b5185b58998f2cce62619ed3f05c.camel@gmx.de> Date: Fri, 09 Jul 2021 21:28:10 +0200 Message-ID: <878s2fnv79.ffs@nanos.tec.linutronix.de> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 09 2021 at 07:21, Mike Galbraith wrote: > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -2497,7 +2497,9 @@ static void put_cpu_partial(struct kmem_ > * partial array is full. Move the existing > * set to the per node partial list. > */ > + local_lock(&s->cpu_slab->lock); > unfreeze_partials(s); > + local_unlock(&s->cpu_slab->lock); > oldpage = NULL; > pobjects = 0; > pages = 0; > @@ -2579,7 +2581,9 @@ static void flush_cpu_slab(struct work_s > if (c->page) > flush_slab(s, c, true); > > + local_lock(&s->cpu_slab->lock); > unfreeze_partials(s); > + local_unlock(&s->cpu_slab->lock); > } > > static bool has_cpu_slab(int cpu, struct kmem_cache *s) > @@ -2632,8 +2636,11 @@ static int slub_cpu_dead(unsigned int cp > struct kmem_cache *s; > > mutex_lock(&slab_mutex); > - list_for_each_entry(s, &slab_caches, list) > + list_for_each_entry(s, &slab_caches, list) { > + local_lock(&s->cpu_slab->lock); This one is odd. It locks the cpu_slab lock of the CPU which runs this callback and then flushes the slab of the dead CPU. Thanks, tglx