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.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,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 9660AC433DF for ; Thu, 20 Aug 2020 14:02:39 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4BAF1206DA for ; Thu, 20 Aug 2020 14:02:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OefLEHD7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4BAF1206DA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id CF3108D0026; Thu, 20 Aug 2020 10:02:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CA3BB8D0002; Thu, 20 Aug 2020 10:02:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE0D48D0026; Thu, 20 Aug 2020 10:02:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0204.hostedemail.com [216.40.44.204]) by kanga.kvack.org (Postfix) with ESMTP id A897B8D0002 for ; Thu, 20 Aug 2020 10:02:38 -0400 (EDT) Received: from smtpin15.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 611F81DFC for ; Thu, 20 Aug 2020 14:02:38 +0000 (UTC) X-FDA: 77171112396.15.beds83_3312ecc27031 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin15.hostedemail.com (Postfix) with ESMTP id 309FC1814BA30 for ; Thu, 20 Aug 2020 14:02:34 +0000 (UTC) X-HE-Tag: beds83_3312ecc27031 X-Filterd-Recvd-Size: 4606 Received: from mail-ot1-f68.google.com (mail-ot1-f68.google.com [209.85.210.68]) by imf10.hostedemail.com (Postfix) with ESMTP for ; Thu, 20 Aug 2020 14:02:28 +0000 (UTC) Received: by mail-ot1-f68.google.com with SMTP id x24so1532953otp.3 for ; Thu, 20 Aug 2020 07:02:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7V8Nr2ZLqIB6Fm+9YdweCl6lFef8zjHx+W/eb65CZWQ=; b=OefLEHD7/gsOkGowHqibgIn2BvXcvuSIL22NvNVC0MKMv5EA1gcTDshdsOrsDs6R9v tTBVEFdNJQzdjBtZFcFFOolTJQv6VHaN/ASR/ZWU/Vnct1lKzJOXm/QY4/cW47+Rf24o vG7ZfKsIiBMwzpeADcDKuYghAGbkKoLTOIuziuJDtDZHeX9Az+QoghHLruquO3FLGu9J dhE4yJGGdbNtSP2y9SGBr/zu5pwOLpX4PVQqgdir1/JPbfDUNl2FtZdCw0yUtJCv6pis 5NnlORyNniDGHK6wXeynz+OE7rcy/1+jngd7A5uPpyV0Cuy44m/qZMlsEh/FBRJeoukR OGGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7V8Nr2ZLqIB6Fm+9YdweCl6lFef8zjHx+W/eb65CZWQ=; b=n2CvNrpb34h4LHCWC8+GNLgzcXu5cg9DFb9MFmD7+9BF2CFj1nslrXEGizlmOkSeYi JliSUTO1O4WVKsAPCiXUg8PeV6BfQPGMSLmReT4YY3YKzrWu4fokkDWJmZpx7TVMwapD lTITzf8kT63RMxcJq7FzE9X8SPNJPLqP1kqUyO1ouB+cSnTsEskgAQWAtv6cpd2emycU GQ/eTBzBdW/6LSo4jLfdFEGe+JPXTf7Os/VpNNKLxDcnvEg8dtiUWeuwBe+O53zXIL8O 3ZJMq0WIgB8NjCX53iwjgmAyWIeV4wqWJGIi6hqbZ9M0odetNy29bjLUOAoY4GXNYekf S6eQ== X-Gm-Message-State: AOAM533g8K/Ssi5PoPx76BxGO08Sz1lakC8zaoqb6d/TW8E7hUAK8VPm Q4/QX6TmBx+Etn7SwOR/xhXOamAMAN8G2P1EN6M= X-Google-Smtp-Source: ABdhPJxNrSm5Cym3X45sROT/6O/6U1GXm4ggcTQuxN/It21oRPEZksIOUhBRINM1ziaOxCi0/LAwp6fjhlakocSZPfI= X-Received: by 2002:a9d:20c4:: with SMTP id x62mr2038263ota.99.1597932147885; Thu, 20 Aug 2020 07:02:27 -0700 (PDT) MIME-Version: 1.0 References: <1597061872-58724-1-git-send-email-xlpang@linux.alibaba.com> In-Reply-To: <1597061872-58724-1-git-send-email-xlpang@linux.alibaba.com> From: Pekka Enberg Date: Thu, 20 Aug 2020 17:02:10 +0300 Message-ID: Subject: Re: [PATCH v2 0/3] mm/slub: Fix count_partial() problem To: Xunlei Pang Cc: Vlastimil Babka , Christoph Lameter , Wen Yang , Roman Gushchin , Konstantin Khlebnikov , David Rientjes , LKML , "linux-mm@kvack.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 309FC1814BA30 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 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 Mon, Aug 10, 2020 at 3:18 PM Xunlei Pang wrote: > > v1->v2: > - Improved changelog and variable naming for PATCH 1~2. > - PATCH3 adds per-cpu counter to avoid performance regression > in concurrent __slab_free(). > > [Testing] > On my 32-cpu 2-socket physical machine: > Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz > perf stat --null --repeat 10 -- hackbench 20 thread 20000 > > == original, no patched > 19.211637055 seconds time elapsed ( +- 0.57% ) > > == patched with patch1~2 > Performance counter stats for 'hackbench 20 thread 20000' (10 runs): > > 21.731833146 seconds time elapsed ( +- 0.17% ) > > == patched with patch1~3 > Performance counter stats for 'hackbench 20 thread 20000' (10 runs): > > 19.112106847 seconds time elapsed ( +- 0.64% ) > > > Xunlei Pang (3): > mm/slub: Introduce two counters for partial objects > mm/slub: Get rid of count_partial() > mm/slub: Use percpu partial free counter > > mm/slab.h | 2 + > mm/slub.c | 124 +++++++++++++++++++++++++++++++++++++++++++------------------- > 2 files changed, 89 insertions(+), 37 deletions(-) We probably need to wrap the counters under CONFIG_SLUB_DEBUG because AFAICT all the code that uses them is also wrapped under it. An alternative approach for this patch would be to somehow make the lock in count_partial() more granular, but I don't know how feasible that actually is. Anyway, I am OK with this approach: Reviewed-by: Pekka Enberg You still need to convince Christoph, though, because he had objections over this approach. - Pekka