Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp4263060pxa; Mon, 10 Aug 2020 05:19:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJytq2pmtch0whrx4eI56LcBcAoJhyh+wo8oY7R6KKrDcXE+/RfcynD+JoJ/pFmyaXXOy0N4 X-Received: by 2002:a17:906:6bc9:: with SMTP id t9mr20622583ejs.372.1597061946654; Mon, 10 Aug 2020 05:19:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597061946; cv=none; d=google.com; s=arc-20160816; b=DpX26U8qJg4Sn8lMS8Ikc3PbbE7ZeF806tYucfV2HwX4aDTZbJhgKfGQeEJ8Me5Nat j1eHHAos+62dQBvrlZvxw2L1zPiYaiZPZ5tY35KvvJMtROvGfZscAl7UeUnip2WX55q8 9IjC5iKlpDFGJVbYLAv8DwykPayzitgkNGqGFngJg+4r9cWK5eskaMPY2r2F91RcHd5c 9fyD+4Nl7WO5FRtWVAopQn+NxncratpL5vFnW1R3Ve+qiyn8wMwcDSpG6Yi1Yum/2kPB q6APAhFHaF8YWJ1dSSaprvhB/7d+szQHBWt3eMLJcWP67pvP+TdsIrGj8eOdS8HBltNW CdJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=Qvi2UsvjVQl+BlsMdPdni53Pu/vIfvJrmN4uQn5hUBE=; b=mZj6ntmQdBqONd2hlkdulOqKaM9uRV3pKikbSBk9kD9eFIT3VVG8GC0tlfimfmB1Zi lARbZe1Tzkk+jObK90Xw96oyT4BAesrx8yXOJpzw6kwNJuC35IHd/qL+8/JWMs4wSvYO 49VO+qfhK3hMXggtsLFObWxYEN9ONNxQYRc0/bJRfhPmePaOKF4YJDiBqV6r7LJGvZlR PBmHsTz34d68o0MgpIjvbafsQ9CU1t55JdbDciYQeCJiabOpz+EYOkrzKakWYXYGE/FK mpXxWunZPCQWP+0jxiTxVOT5lK02g4MK4vFYSMS6gZrAP7ob0cFtvSJNc8afnjbnyg26 Iy0Q== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h7si10442796edr.140.2020.08.10.05.18.41; Mon, 10 Aug 2020 05:19:06 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726462AbgHJMR7 (ORCPT + 99 others); Mon, 10 Aug 2020 08:17:59 -0400 Received: from out30-54.freemail.mail.aliyun.com ([115.124.30.54]:44128 "EHLO out30-54.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726146AbgHJMR5 (ORCPT ); Mon, 10 Aug 2020 08:17:57 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R201e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e01355;MF=xlpang@linux.alibaba.com;NM=1;PH=DS;RN=10;SR=0;TI=SMTPD_---0U5MlrY2_1597061872; Received: from localhost(mailfrom:xlpang@linux.alibaba.com fp:SMTPD_---0U5MlrY2_1597061872) by smtp.aliyun-inc.com(127.0.0.1); Mon, 10 Aug 2020 20:17:52 +0800 From: Xunlei Pang To: Vlastimil Babka , Christoph Lameter , Wen Yang , Roman Gushchin , Pekka Enberg , Konstantin Khlebnikov , David Rientjes , Xunlei Pang Cc: linux-kernel@vger.kernel.org, "linux-mm@kvack.org" Subject: [PATCH v2 0/3] mm/slub: Fix count_partial() problem Date: Mon, 10 Aug 2020 20:17:49 +0800 Message-Id: <1597061872-58724-1-git-send-email-xlpang@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-) -- 1.8.3.1