All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: Re: [PATCH v5 4/6] xen/cpupool: Create different cpupools at boot time
Date: Thu, 7 Apr 2022 09:52:17 +0000	[thread overview]
Message-ID: <475D681D-9D0C-4302-B1CD-B8BD2E7D95AE@arm.com> (raw)
In-Reply-To: <deffb58a-984a-1016-4ac8-c3badc946ea0@xen.org>



> On 7 Apr 2022, at 09:58, Julien Grall <julien@xen.org> wrote:
> 
> Hi Luca,
> 
> On 05/04/2022 09:57, Luca Fancellu wrote:
>> Introduce a way to create different cpupools at boot time, this is
>> particularly useful on ARM big.LITTLE system where there might be the
>> need to have different cpupools for each type of core, but also
>> systems using NUMA can have different cpu pools for each node.
>> The feature on arm relies on a specification of the cpupools from the
>> device tree to build pools and assign cpus to them.
> 
> How will this work for ACPI? Note that I am not suggesting to add suport right now. However, we probably want to clarify that this is not yet supported.

Ok I will add a note saying ACPI is not supported in v6

> 
> [...]
> 
>> diff --git a/docs/misc/arm/device-tree/cpupools.txt b/docs/misc/arm/device-tree/cpupools.txt
>> new file mode 100644
>> index 000000000000..5dac2b1384e0
>> --- /dev/null
>> +++ b/docs/misc/arm/device-tree/cpupools.txt
>> @@ -0,0 +1,136 @@
>> +Boot time cpupools
>> +==================
>> +
>> +When BOOT_TIME_CPUPOOLS is enabled in the Xen configuration, it is possible to
>> +create cpupools during boot phase by specifying them in the device tree.
> 
> How about ACPI?

Same as above

> 
>> +
>> +Cpupools specification nodes shall be direct childs of /chosen node.
>> +Each cpupool node contains the following properties:
>> +
>> +- compatible (mandatory)
>> +
>> +    Must always include the compatiblity string: "xen,cpupool".
>> +
>> +- cpupool-cpus (mandatory)
>> +
>> +    Must be a list of device tree phandle to nodes describing cpus (e.g. having
>> +    device_type = "cpu"), it can't be empty.
>> +
>> +- cpupool-sched (optional)
>> +
>> +    Must be a string having the name of a Xen scheduler. Check the sched=<...>
>> +    boot argument for allowed values.
> 
> I would clarify what would be the scheduler if cpupool-sched is not specified.
> 
> Also, I would give a pointer to xen-command-line.pandoc so it is easier to know where 'sched' is described.

Good point, I think the info got missed through the series, I’ll add and put the link.

> 
> [...]
> 
>> +void __init btcpupools_dtb_parse(void)
>> +{
>> +    const struct dt_device_node *chosen, *node;
>> +
>> +    chosen = dt_find_node_by_path("/chosen");
>> +    if ( !chosen )
>> +        return;
> Aside when using ACPI, the chosen node should always be there. So I think we should throw/print an error if chosen is not present.

When you say error, do you mean like a panic or just a printk XENLOG_ERR and return?

> 
> Also, I would check that we haven't booted using ACPI rather than relying on dt_find_node_by_path("/chosen") to return NULL.

Ok I will add a check on acpi_disabled to return if it is false.

Cheers,
Luca

> 
> Cheers,
> 
> -- 
> Julien Grall


  reply	other threads:[~2022-04-07  9:53 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-05  8:57 [PATCH v5 0/6] Boot time cpupools Luca Fancellu
2022-04-05  8:57 ` [PATCH v5 1/6] tools/cpupools: Give a name to unnamed cpupools Luca Fancellu
2022-04-06 14:55   ` Anthony PERARD
2022-04-07  8:26     ` Luca Fancellu
2022-04-05  8:57 ` [PATCH v5 2/6] xen/sched: create public function for cpupools creation Luca Fancellu
2022-04-07  6:07   ` Juergen Gross
2022-04-07  8:25     ` Luca Fancellu
2022-04-05  8:57 ` [PATCH v5 3/6] xen/sched: retrieve scheduler id by name Luca Fancellu
2022-04-05  8:57 ` [PATCH v5 4/6] xen/cpupool: Create different cpupools at boot time Luca Fancellu
2022-04-06 20:47   ` Stefano Stabellini
2022-04-07  6:15   ` Juergen Gross
2022-04-07  8:58   ` Julien Grall
2022-04-07  9:52     ` Luca Fancellu [this message]
2022-04-07 14:36       ` Julien Grall
2022-04-05  8:57 ` [PATCH v5 5/6] arm/dom0less: assign dom0less guests to cpupools Luca Fancellu
2022-04-05  8:57 ` [PATCH v5 6/6] xen/cpupool: Allow cpupool0 to use different scheduler Luca Fancellu
2022-04-07  6:45   ` Juergen Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=475D681D-9D0C-4302-B1CD-B8BD2E7D95AE@arm.com \
    --to=luca.fancellu@arm.com \
    --cc=Bertrand.Marquis@arm.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=Wei.Chen@arm.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dfaggioli@suse.com \
    --cc=george.dunlap@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=jgross@suse.com \
    --cc=julien@xen.org \
    --cc=sstabellini@kernel.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.