From nobody Fri Oct 31 16:24:03 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1747903797; cv=none; d=zohomail.com; s=zohoarc; b=gvzT955ICDLfsOyeaxHsk55asJYBqLIqAgOv4eQOgArMJ4zIMsWKqlbBdaUZCi9T1bVLmXdySCGf2LzuzW59R9fqwe0uJJCv49JbaOHnA76FdkqrQ/oyOTHSi0NhoRQ+vlp7TjbUV60QwDNPzrR4vj7mP0cMRe5AhXBhQR7Ulbc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1747903797; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yx4+zgGbRpsEhggPXSuzqYHsD8VxJjLcNb6O+IlJ+kk=; b=nf3V/93j4tKotz3VmvYzx+9LNaolgH7MURlzSs/l7Bqcnmoankm9NA0io3jThdynBVux+SpqyGICX7vagXJH5D+rKqs495TptqNsqvSmpYXfryuk+z2V6CLDp/hsGbXbj7wsTNU5rrH1tcnNx416lau8Qv0dOz3jfyaKaYOF+pg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 174790379708184.7314655912246; Thu, 22 May 2025 01:49:57 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.993246.1376690 (Exim 4.92) (envelope-from ) id 1uI1cV-0005au-0f; Thu, 22 May 2025 08:49:43 +0000 Received: by outflank-mailman (output) from mailman id 993246.1376690; Thu, 22 May 2025 08:49:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uI1cU-0005ac-SO; Thu, 22 May 2025 08:49:42 +0000 Received: by outflank-mailman (input) for mailman id 993246; Thu, 22 May 2025 08:49:41 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uI1cT-0004UT-3w for xen-devel@lists.xenproject.org; Thu, 22 May 2025 08:49:41 +0000 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [2a00:1450:4864:20::42a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b2eaa07b-36e9-11f0-a2fb-13f23c93f187; Thu, 22 May 2025 10:49:40 +0200 (CEST) Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a376da332aso3083459f8f.3 for ; Thu, 22 May 2025 01:49:40 -0700 (PDT) Received: from localhost (112.pool92-178-7.dynamic.orange.es. [92.178.7.112]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a36a83b63bsm16513777f8f.97.2025.05.22.01.49.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 May 2025 01:49:39 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b2eaa07b-36e9-11f0-a2fb-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1747903780; x=1748508580; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yx4+zgGbRpsEhggPXSuzqYHsD8VxJjLcNb6O+IlJ+kk=; b=QZ1/ryVOxfwYLy0E/5QXXMJdFJnw0yixEDZoOZkkGp1SjQcRg8uW77BYcwwPFA+4M/ GcpQswXz4iDbdujiiz0fO7tKhE4mmxgQ0h4SLrPgR+tBVvu4oCgmrDTz6oWLGmvbjYTM uxXqcH7hfLjwnNdddTcmjrjrATU7vG1h/0nU4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747903780; x=1748508580; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yx4+zgGbRpsEhggPXSuzqYHsD8VxJjLcNb6O+IlJ+kk=; b=nVnm1ZohT0MPMTCnbVhMti33stppZUYnm7ARc6qGRotkyYaxEwF6hWAyZpF+Kuaw42 8Jf16aPMiZVwegaoTkd+VNWc2qlewrMfUK8mnmSeM0FbuUcHGV9s5asl1bcx+pmjna2Z mbz9/m+81PQvs933U8O9qBy+cLCWMK1raUV7PO7Ph931/8rcOEubj8BzZ7K/selXM2Fi hRgEmKLJenZ+o/t4f/SAyAHGa7LJNsALiaGWzj6FNJcUYqdpY1Xq+GmZTx8xEQii/bhp WguwPt8z9LFeEdUitkskiJVGRfI6D4RtcrjmGRBRusQBq31KFNsgo93ZL9oFURV5hWdx A7Zg== X-Gm-Message-State: AOJu0YzIzMpZOsPWIMZBiLMWJafkgyJxadUKCIfHpQOnbvaL5tVV+ZZ9 IsCkyLke1Ry16ch0FUBP8QHAGnqSIN2Bsdgx8MTB+DwMzaATwBOxRHfy6Ox2ouzrdoXYt5CHbWA Q7k3N X-Gm-Gg: ASbGncuzsxftjVwXegUfmiset74FoEf/cMqg9GuPsh/FViYLWPOqVK+NE7qVWTDhQjk YVJnN5r6rCY/8L1IqXIEPuwrEr5qsZt2M3BzaPn752Od8N4CquqlXpHaW69j52xPCNJCC00pAOJ DTPMAfD0Q922yrCxA8+5iIDEhyT/pGZwbLDEKMVm+P31LnbV00mMhJmeWxMZUr/lEODd0S4Lsd4 wFKj6BNoSUwxUs/cd9QaveiHm2ZuSsDJ8aKWrlj/2G956x1bF6m84f/iNuoK1+OoXsEvy5MZGw1 FkQu3HMVqA0c5NS6iem5HZEolby//AF7S5/qfYlf9/fTukfgZxdVoyDhiaEQ4r7otbmoOzEg3Ln 1ldDxbOWt/B/xst4bHfY= X-Google-Smtp-Source: AGHT+IGs65c5GaODEoeBQP2cvvjUWxKsUEUaJ4YXDd8yKvkd/ufGowoFvdMoMKg3sSjPN9c+lCHnYA== X-Received: by 2002:a5d:64c7:0:b0:3a3:6584:3fa1 with SMTP id ffacd0b85a97d-3a365844ba6mr20445053f8f.44.1747903779803; Thu, 22 May 2025 01:49:39 -0700 (PDT) From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Anthony PERARD , Andrew Cooper , Michal Orzel , Jan Beulich , Julien Grall , Stefano Stabellini Subject: [PATCH 1/2] x86/numa: add per-node lock profile objects Date: Thu, 22 May 2025 10:48:14 +0200 Message-ID: <20250522084815.825-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250522084815.825-1-roger.pau@citrix.com> References: <20250522084815.825-1-roger.pau@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1747903798475116600 Add some basic infrastructure to be able to use lockprofile with per NUMA node locks. This patch just introduces the required types, plus the printing of the data for the newly introduced type. There's no user of per NUMA node locks introduced here. Signed-off-by: Roger Pau Monn=C3=A9 --- tools/misc/xenlockprof.c | 5 +++++ xen/common/spinlock.c | 1 + xen/include/public/sysctl.h | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/misc/xenlockprof.c b/tools/misc/xenlockprof.c index 11f43a35e3c0..3fc91e832ae5 100644 --- a/tools/misc/xenlockprof.c +++ b/tools/misc/xenlockprof.c @@ -96,6 +96,11 @@ int main(int argc, char *argv[]) case LOCKPROF_TYPE_PERDOM: sprintf(name, "domain %d lock %s", data[j].idx, data[j].name); break; + + case LOCKPROF_TYPE_PERNODE: + sprintf(name, "NUMA node %d lock %s", data[j].idx, data[j].nam= e); + break; + default: sprintf(name, "unknown type(%d) %d lock %s", data[j].type, data[j].idx, data[j].name); diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c index 38caa10a2ea2..d86e32bd67aa 100644 --- a/xen/common/spinlock.c +++ b/xen/common/spinlock.c @@ -612,6 +612,7 @@ static s_time_t lock_profile_start; static struct lock_profile_anc lock_profile_ancs[] =3D { [LOCKPROF_TYPE_GLOBAL] =3D { .name =3D "Global" }, [LOCKPROF_TYPE_PERDOM] =3D { .name =3D "Domain" }, + [LOCKPROF_TYPE_PERNODE] =3D { .name =3D "NUMA node" }, }; static struct lock_profile_qhead lock_profile_glb_q; static spinlock_t lock_profile_lock =3D SPIN_LOCK_UNLOCKED; diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h index 9eca72865b87..bcf3dd3b1f31 100644 --- a/xen/include/public/sysctl.h +++ b/xen/include/public/sysctl.h @@ -582,7 +582,8 @@ struct xen_sysctl_page_offline_op { /* Record-type: */ #define LOCKPROF_TYPE_GLOBAL 0 /* global lock, idx meaningless */ #define LOCKPROF_TYPE_PERDOM 1 /* per-domain lock, idx is domid */ -#define LOCKPROF_TYPE_N 2 /* number of types */ +#define LOCKPROF_TYPE_PERNODE 2 /* pNUMA per-node lock, idx is node = ID */ +#define LOCKPROF_TYPE_N 3 /* number of types */ struct xen_sysctl_lockprof_data { char name[40]; /* lock name (may include up to 2 %d specifiers= ) */ int32_t type; /* LOCKPROF_TYPE_??? */ --=20 2.49.0