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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06E7DC71135 for ; Fri, 13 Jun 2025 04:21:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B56A6B007B; Fri, 13 Jun 2025 00:21:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 365C46B0089; Fri, 13 Jun 2025 00:21:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 27DA46B008A; Fri, 13 Jun 2025 00:21:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0820B6B007B for ; Fri, 13 Jun 2025 00:21:47 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8B198BE5F0 for ; Fri, 13 Jun 2025 04:21:46 +0000 (UTC) X-FDA: 83549079012.02.8884BFD Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf26.hostedemail.com (Postfix) with ESMTP id F15AC140008 for ; Fri, 13 Jun 2025 04:21:44 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PcEy4B3k; spf=pass (imf26.hostedemail.com: domain of hyunminrlee@gmail.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=hyunminrlee@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749788505; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=yBsYHiscXlPg5hG7XWmaKhRZ9HuWoxcnJO6L6ydXt0Q=; b=CCGS4m0G6+B6M1XUv+wPAi2dS66vADCP8F2sge2ozOBP4EW7NeMjR4iDPGsRvbnpQw1HK7 YVWQvYsPP/DpoBwCllc1ypyN6KQFNbxdZzWXlQVsTO7TjO7k2W9WvtUnZrzGkRU16EseLS NSwJzJz7S6y4V0dB+Ne4c8lq4BpGW/o= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PcEy4B3k; spf=pass (imf26.hostedemail.com: domain of hyunminrlee@gmail.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=hyunminrlee@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749788505; a=rsa-sha256; cv=none; b=OfORe1OI5AmEKYH25QcYDb9zMTE8K3EiWUggk3DUGJC7KBoflG1dQAMRWfeDagopQp24jH BM+LyjyO8sE3GKm0pApxVdj397E2G0/G+5sUioZowjDhvS08sN31NdytlEBIbN2dntaCDZ VZG6/C5M3m0lMQ5S4tsJJx2eAMl050w= Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-af51596da56so1362112a12.0 for ; Thu, 12 Jun 2025 21:21:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749788503; x=1750393303; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=yBsYHiscXlPg5hG7XWmaKhRZ9HuWoxcnJO6L6ydXt0Q=; b=PcEy4B3k4xMCGDucmkwECaKpDLgabHfR1sBc5zp2Ki7FJQScUGbCGoGgQ9cRV75GZT bve5qb5Wy8vwMeWojO76SPgafnZa/kNgsSlmSeO2ryjUjgvC0ntJUmNpMxIqXmVhvKEW d6qIs7CczWQiBRWeXhiEYRIlzeuNw+/0sov8O8b6MTzONuuoRfeBlHfCVZICtgzbYMmd CrcbnSYIRqwVYEQ9yBBAfTAJbHV5uQjQkaFEiE6f8ZIjKRJ3mOFauFbElLQt0xkZdkBB 1aYpwIXCqoJg8NL3BxluUSROarzMTF6rRUs9Rel8p4PlGVaOhKBXiHq/c161CI/3TgHG vbrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749788503; x=1750393303; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yBsYHiscXlPg5hG7XWmaKhRZ9HuWoxcnJO6L6ydXt0Q=; b=nC3yo3Awxy+bK7CFMDPRTGr9oeQiwtNQMYK+v3cd9/+2DG4aNAIcfvonlGrwMMF3qb Oj6wv2Z/dEIlGw7hnLvIPp1DJ7LV8c8T1ddmnVL28dpYIB51cyDrlQS0/SWP8TtLm9yi 2jVvDVPk5eV9PTEjJtWuTGNtLjjomK4l/ZA6QT7b5RpOz/wU12KuV3DDKDwMav8WNE7e /0zVU5jkEUiN5rClzuXk6i4aCBan3jXWUCRTMeqGpjVRtoCTt998t7eJJr2mccG+Sakr KCmhdql3mAw6LsW4cnLSftHFtoJfLlbLk7UuS90vmjUJYFKT7iyhiKwUstdbBwCvEKvo Uh8g== X-Gm-Message-State: AOJu0Yxso0O3jfGa38DGok9AA0pAvM58DYsTmQA+vGAYgzsmDtseB+V5 gExcQY0M8rIcrOSzmYHufVhi139kxUJkhA/Wc8uAW3GgH9gJf5B/TGwJB4qIuw== X-Gm-Gg: ASbGnctilvymTQ0wPpYe7gsDpPAsd2HmQ3bW+EChkOVOhPKjHu1GrCtRk8l6zMSjC8k TB27FevWpUXyzv7UaV1inaViatbgWUJ48hvp4uDCGzpePfCtfGZhqADU//d0TVqH3Zu+je5OCdi yViCGzze/eW0pBxPQWW8k+VkR4ZaPIlvw800ECJV0GlnrjT8P/ui+f6GihNgHuFMaD0ol9SLdss 19+8/aIbub4r+7AF3qnr1h/zosDhyIZ/rm3b/aCvnYtqw3tM8yMqlJp5vHZb1xnjP1wAEfb90G5 61rIciF045eHJl+cKrOnSd1WBMrN/Mtj2M2V7iSHJFwfbJFUBtPWvCCk3Ec8NC+FXH0+612N1CI = X-Google-Smtp-Source: AGHT+IEEKWMiqofT0wXMN7ULFkbGFoVeg4lIXCImrRkKv997aexWB98fdCwazS0QvCGAQao5FkEknw== X-Received: by 2002:a05:6a20:a115:b0:21c:f5eb:ede1 with SMTP id adf61e73a8af0-21facc8769bmr2379709637.24.1749788503176; Thu, 12 Jun 2025 21:21:43 -0700 (PDT) Received: from hmlaptop.localdomain ([125.177.3.166]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74890006367sm633200b3a.52.2025.06.12.21.21.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 21:21:42 -0700 (PDT) From: Hyunmin Lee To: linux-mm@kvack.org Cc: Dennis Zhou , Tejun Heo , Christoph Lameter Subject: [PATCH] percpu: reduce the time complexity of mapping units and cpus Date: Fri, 13 Jun 2025 13:21:38 +0900 Message-ID: <20250613042138.10083-1-hyunminrlee@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: F15AC140008 X-Rspamd-Server: rspam03 X-Rspam-User: X-Stat-Signature: h8646888dkpdgizznucaukkioip8746n X-HE-Tag: 1749788504-850980 X-HE-Meta: U2FsdGVkX1+nGO4FftrVfQv8iSltRrJV3tvC/R5an4oHcddnHE/TRuCGc32tmHjhBtJk/QHynV8c0Kdt9Fy0bDElu2lOkEE4++wEw9e5El0LwSbwsOcl/hueOq7olJMxm5S3qzoyPhSNiWhEI44xkHNhglKivdOBXZMFAOm8HhvPq9zOLZLGcCr/G60pQU7DjPEdyeqS6i3z3hhcUP3NVkMC7KTJ64myknsiOgnZDvejXT6As7ZMB3k+NHTB+wBxsg/wbiBfdsMYzTrKlqqqkPhqgEku3/FB1sTUjKoSegb7IZJ+A8CrgrlzrUtcFM50o/pQ420Kp3qzY6aoyjzlT13U5kokrfa/Az1Q9L6JtMbBe27SycEv4J3dKGm7dtEVbFNCvW/kXoD/qUJJs1Por4QaRAyQSmFnFxooOgQyN0ly8Tz+YXquSrbHQLJAFdJvw1KWhR1UWTPVmg2A+4RDsGggTCm4+lzLrekQZvollgua62Vj7qWLHkRYHmjVfOTAZgeA0EqaLjVwBNzu+2p/GlE2mWr6YeoV506eqj/ZtovaU3UvC30/ic409VSTlpCTTRWBRN2zam6wahusBnq+CEIi2QPTxuctaGUj4OEg9Vf2gdhmrLve9FOT9prHM2VEtvdUxPXrVKTqDRRRDIbGZ1BZFicY01SQP2knRYNM3d0qLfmxmU1fgOKS9rM+Mr616GZtV4tdYIdENCuVuf8bJx9Nzj/l1FRYXoZArYSZKGsBxOPqU/MGQ0pK/k8KI2+3R5Sh85SbBjG1yiTpdzqryw088gqgojmt8qXfsM4o0IJSaEOwxVbnnxEFIQ0OPJ+9xzRi9eTTiaMMPTnQpKz/UNmjJGmum4i8MOjPI9PODFv9Dne7LtenLJ4FOzxgDoqucp2L0+Iu9TBIRuy0PBu+e6q9+CFBzU+zIrf9w4i2KoX6byMyvTh/lv072JeqVkr5uS4i8hJy1K79uw5twdK +JvmdlIT nB2Mc75XKox+xlSA= 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: List-Subscribe: List-Unsubscribe: For mapping units and CPUs belonging to groups, it can be inefficient to iterate through all CPUs by each group to find what CPUs belong to that group. Since group_map already has the information on which CPUs belong to which group, CPUs can be directly mapped to a unit in the group to which the CPU belongs. Signed-off-by: Hyunmin Lee --- mm/percpu.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mm/percpu.c b/mm/percpu.c index b35494c8ede2..968aa0ace482 100644 --- a/mm/percpu.c +++ b/mm/percpu.c @@ -2906,6 +2906,13 @@ static struct pcpu_alloc_info * __init __flatten pcpu_build_alloc_info( ai->atom_size = atom_size; ai->alloc_size = alloc_size; + for_each_possible_cpu(cpu) { + group = group_map[cpu]; + struct pcpu_group_info *gi = &ai->groups[group]; + + gi->cpu_map[gi->nr_units++] = cpu; + } + for (group = 0, unit = 0; group < nr_groups; group++) { struct pcpu_group_info *gi = &ai->groups[group]; @@ -2916,9 +2923,6 @@ static struct pcpu_alloc_info * __init __flatten pcpu_build_alloc_info( */ gi->base_offset = unit * ai->unit_size; - for_each_possible_cpu(cpu) - if (group_map[cpu] == group) - gi->cpu_map[gi->nr_units++] = cpu; gi->nr_units = roundup(gi->nr_units, upa); unit += gi->nr_units; } -- 2.43.0