[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH v6 1/5] xen/device-tree: Parse 'cpu-map' node for CPU topology exploration


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Hirokazu Takahashi <taka@xxxxxxxxxxxxx>
  • Date: Sun, 19 Jul 2026 01:17:52 +0000
  • Accept-language: ja-JP, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yUOkcfgMlaWNsnAsXo5wY3QU1xHSbMoppFOlZ9VFkNs=; b=Yb4wk5Eez5wuPLDaC1CwiY0jczr3coEyU3l4zmKbSBFMVTIJf/OU015WGtRVfJlWao9Ti8UrdZWWdpnUMDEZjOd5N3TMFHmBxGkLiUPk5BgjJedkm5GU7P8dphg4jjXnU+jq8pb9ALXUmaqmH0gYVisO/cHPhQ/TpqA//EotFW6WnSbcphNDpPOlYdQPg9/xbMuOw0Hp8KQP01lH2l6+cKmtTKatujdgbB9ktIuaPhsM0DG8oHP1fXwFv36gGzsEvj15wqywAFTscQwRgUsX5AmcM4Kn8VYW8RnNYg0RNly2l1C4R9yrz2ThsOY4MEo2s3ISNHfpEx63FiwP6RRcTA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hw0tl64vjwTtRp3XvFiaHWINZEn5H30+tRswL48QXU4diwBH0dbIENTym6N3XIzd/kXrNjjLQSWYEin96IJOC3odStLwJ4n/MKQcsRULWoWlcRMclZww5rs5O01+UMrDu/UiNrCJn1F1Cmt+uwRrkSw7obSgRrHomdkYBO7yx3cOegDe6PRLAAdGfOXWtfey2FxUwl1GBBOiRavu3X/F+cruIr3ighJsTuwsennvoxOhDB5Xc8G01ilc0r/baofBFMHTUKb1PZ5oz41KK+hUhMZETc/mipXgHmQVMG8TtCIzgtxI69wwNo2ikfSJ6QelfLtCCtogvT+1CI9HQB/Dvw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp;
  • Cc: "Mykyta_Poturai@xxxxxxxx" <Mykyta_Poturai@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Sun, 19 Jul 2026 01:18:09 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHdE33lRSerj/u3kU6sfibELhxcvrZwJ2MAgAPosBA=
  • Thread-topic: [PATCH v6 1/5] xen/device-tree: Parse 'cpu-map' node for CPU topology exploration

Hi Jan,

> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +
> > +#ifndef XEN_CPU_TOPOLOGY_H
> > +#define XEN_CPU_TOPOLOGY_H
> > +
> > +#include <xen/cpumask.h>
> > +
> > +#ifdef CONFIG_GENERIC_CPU_TOPOLOGY
> > +
> > +struct cpu_topology {
> > +    cpumask_var_t thread_sibling;
> 
> Btw, as this aspect becomes more apparent when looking at patch 2: What is the
> relationship of this (i.e. cpu_topology[cpu].thread_sibling) to
> per_cpu(cpu_sibling_mask, cpu)? The two ought to be identical, but I can't see
> this being guaranteed. And if they were identical, why would both be needed?
> 
> > +    cpumask_var_t core_sibling;
> 
> Same for this vs the per-CPU cpu_core_mask.

I have considered the same thing before. However, considering the CPU hotplug
support that Mykyta Poturai is currently implementing, it is difficult to remove
thread_sibling and core_sibling from struct cpu_topology. We intend to use 
cpu_topology to hold information for CPUs that haven't been hotplugged yet.

While it might make more sense to remove the per-CPU masks instead, 
I hesitated to do so because the impact on x86 Xen would be quite large.

Thank you,
Hirokazu Takahashi.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.