From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0BD5C54FD0 for ; Fri, 24 Apr 2020 16:16:04 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 82D5820781 for ; Fri, 24 Apr 2020 16:16:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lca.pw header.i=@lca.pw header.b="qlbIQJx4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 82D5820781 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lca.pw Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 212798E0007; Fri, 24 Apr 2020 12:16:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C2598E0003; Fri, 24 Apr 2020 12:16:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D7B28E0007; Fri, 24 Apr 2020 12:16:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0018.hostedemail.com [216.40.44.18]) by kanga.kvack.org (Postfix) with ESMTP id EB2DE8E0003 for ; Fri, 24 Apr 2020 12:16:03 -0400 (EDT) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id A28ED442B for ; Fri, 24 Apr 2020 16:16:03 +0000 (UTC) X-FDA: 76743250206.24.air06_8c2cf8702f51a X-HE-Tag: air06_8c2cf8702f51a X-Filterd-Recvd-Size: 4669 Received: from mail-qk1-f195.google.com (mail-qk1-f195.google.com [209.85.222.195]) by imf40.hostedemail.com (Postfix) with ESMTP for ; Fri, 24 Apr 2020 16:16:03 +0000 (UTC) Received: by mail-qk1-f195.google.com with SMTP id n143so10704267qkn.8 for ; Fri, 24 Apr 2020 09:16:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lca.pw; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=NpF4ebF/mYc/rJmh8e1mUhjq/ubrH1/GxyUQdknJIGg=; b=qlbIQJx48Hqu7w0gAnipO2M5dI+LZSShUdFRLUYQdJ2+pCW6pjcFCPv+MakyoqqUEK Qm3GG+bdomT1A+nZhHBhHSJLP16cts35laZ7bQ20NqnwrOfBG+48ZA7ODiHFhzcJAQhY wRWHv+l9wHefrjPabykyY51Cg9XQalxuVH4cIThTsW5iLoTEjJMah/I8Mg66re0StfZh 6Comod9ZQt2LH1UEkWSNQ54hmDWF1ZJOSPtela1cbfCwcqhAYB0BSorqm0mqi8jf6RR5 oTj0ptA4Xt9+1q3m+T0IxWlCUD/QWxQVBFovazS5BJx5w7oab/VRbC/HwwRy9SCZmMiV jelA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=NpF4ebF/mYc/rJmh8e1mUhjq/ubrH1/GxyUQdknJIGg=; b=nnlulLGE9JSB7Any/Ts2L6J4I83q6jZBTP0jmoFjlstajDHGKur2LNF2sw7xixqQpO pouuIKLIs0OyaKa39q3fVGQLQPFVBO8/JFzDr28wRitFY4X8TdVniWLKrevU3oSImXFJ xByxFgKro4mI6gKCwmrpdyrCv5UktjtRdgVfC//ZBSKaCukQRBi4Oo4lEH6qauyPaaGO aAuVWZQ0rjmdGHECUGdgHBcWG8plJHNfP5Br3icNCBzCVNziv0fBh5KnbGr1vYUZaEVs Mxb48s86xAlTOBRrbFtRcni6ZvJeIjCaOa6g9bCYBazMCTQEZ3HpppicGex/bESpoX2Y igKA== X-Gm-Message-State: AGi0Publh48TLSXGkITP5bCAEOOZxEN0Yyai3M407icyRKSRs4sxrh7d W5/bbMhY2G9DTz9icXCFPxV80A== X-Google-Smtp-Source: APiQypIvAJav39D5U2ZXeodLcy5EzzRj0EKmLYvt7gwBvIUSBywr76ydugdStWM8PWVQDw4YSnbefg== X-Received: by 2002:a37:61cd:: with SMTP id v196mr9602979qkb.393.1587744961999; Fri, 24 Apr 2020 09:16:01 -0700 (PDT) Received: from [192.168.1.153] (pool-71-184-117-43.bstnma.fios.verizon.net. [71.184.117.43]) by smtp.gmail.com with ESMTPSA id j9sm1444329qkg.88.2020.04.24.09.16.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Apr 2020 09:16:01 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: [PATCH 2/2] mm/slub: Fix slab_mutex circular locking problem in slab_attr_store() From: Qian Cai In-Reply-To: <20200424151225.10966-2-longman@redhat.com> Date: Fri, 24 Apr 2020 12:16:00 -0400 Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Linux-MM , LKML , Juri Lelli Content-Transfer-Encoding: quoted-printable Message-Id: <0A3C34CA-F514-41C2-AC3F-E5925C7C0F9A@lca.pw> References: <20200424151225.10966-1-longman@redhat.com> <20200424151225.10966-2-longman@redhat.com> To: Waiman Long X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: > On Apr 24, 2020, at 11:12 AM, Waiman Long wrote: >=20 > diff --git a/mm/slub.c b/mm/slub.c > index 183ccc364ccf..255981180489 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -5567,13 +5567,30 @@ static ssize_t slab_attr_store(struct kobject = *kobj, > return -EIO; >=20 > err =3D attribute->store(s, buf, len); > -#ifdef CONFIG_MEMCG > - if (slab_state >=3D FULL && err >=3D 0 && is_root_cache(s)) { > - struct kmem_cache *c; > +#ifdef CONFIG_MEMCG_KMEM > + if (slab_state >=3D FULL && err >=3D 0 && is_root_cache(s) && > + !list_empty(&s->memcg_params.children)) { > + struct kmem_cache *c, **pcaches; > + int idx, max, cnt =3D 0; > + size_t size =3D s->max_attr_size; > + struct memcg_cache_array *arr; > + > + /* > + * Make atomic update to s->max_attr_size. > + */ > + do { > + if (len <=3D size) > + break; > + } while (!try_cmpxchg(&s->max_attr_size, &size, len)); >=20 try_cmpxchg() is only available on x86. mm/slub.c: In function =E2=80=98slab_attr_store=E2=80=99: mm/slub.c:5613:13: error: implicit declaration of function = =E2=80=98try_cmpxchg=E2=80=99; did you mean =E2=80=98xa_cmpxchg=E2=80=99? = [-Werror=3Dimplicit-function-declaration] } while (!try_cmpxchg(&s->max_attr_size, &size, len)); ^~~~~~~~~~~ xa_cmpxchg