From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
Bob Eshleman <bobbyeshleman@gmail.com>,
Connor Davis <connojdavis@gmail.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Julien Grall <julien@xen.org>,
Stefano Stabellini <sstabellini@kernel.org>,
xen-devel@lists.xenproject.org
Subject: Re: [PATCH v7 5/8] xen/riscv: introduce functionality to work with CPU info
Date: Mon, 16 Sep 2024 12:07:10 +0200 [thread overview]
Message-ID: <aa193d25ef12815d2b75fb0cbb5ae50b596fb393.camel@gmail.com> (raw)
In-Reply-To: <d0675928-3261-42cb-96d8-95b626e6552e@suse.com>
On Mon, 2024-09-16 at 08:48 +0200, Jan Beulich wrote:
> On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > Introduce struct pcpu_info to store pCPU-related information.
> > Initially, it includes only processor_id and hart id, but it
> > will be extended to include guest CPU information and
> > temporary variables for saving/restoring vCPU registers.
> >
> > Add set_processor_id() function to set processor_id stored in
> > pcpu_info.
> >
> > Define smp_processor_id() to provide accurate information,
> > replacing the previous "dummy" value of 0.
> >
> > Initialize tp registers to point to pcpu_info[0].
> > Set processor_id to 0 for logical CPU 0 and store the physical
> > CPU ID in pcpu_info[0].
> >
> > Introduce helpers for getting hart_id ( physical CPU id in RISC-V
> > terms ) from Xen CPU id.
> >
> > Removing of <asm/processor.h> inclusion leads to the following
> > compilation error:
> > common/keyhandler.c: In function 'dump_registers':
> > common/keyhandler.c:200:13: error: implicit declaration of
> > function
> > 'cpu_relax' [-Werror=implicit-function-declaration]
> > 200 | cpu_relax();
>
> What is this paragraph about? It may be stale, or it may be lacking
> information / context on what it tries to explain.
When I moved pcpu_info[], set_processor_id(), and smp_processor_id() fromasm/processor.h to asm/current.h and began cleaning up the header
inclusions,
the mentioned compiler error appeared. The inclusion of
<asm/processor.h> isn’t
necessary anymore at the moment, but I assume it will be included
eventually, so
I decided to add this explanation to the commit message to clarify why
it wasn’t
dropped.
Initially, I marked it as a TODO in <asm/current.h>, but I realized
this comment
would be removed once something from <asm/processor.h> is required. So,
I opted to
document it in the commit message instead.
>
> > @@ -14,6 +16,22 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
> > */
> > #define park_offline_cpus false
> >
> > +/*
> > + * Mapping between Xen logical cpu index and hartid.
> > + */
> > +static inline unsigned long cpuid_to_hartid(unsigned long cpuid)
> > +{
> > + return pcpu_info[cpuid].hart_id;
> > +}
> > +
> > +static inline void map_cpuid_to_hartid(unsigned long cpuid,
> > + unsigned long hartid)
> > +{
> > + pcpu_info[cpuid].hart_id = hartid;
> > +}
>
> "map" is ambiguous - it may mean both "get" or "set". May I ask that
> this become "set", just like for the processor-ID helper?
Sure, I will update that in the next patch series version.
~ Oleksii
next prev parent reply other threads:[~2024-09-16 10:07 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 15:57 [PATCH v7 0/8] device tree mapping Oleksii Kurochko
2024-09-13 15:57 ` [PATCH v7 1/8] xen/riscv: use {read,write}{b,w,l,q}_cpu() to define {read,write}_atomic() Oleksii Kurochko
2024-09-16 6:17 ` Jan Beulich
2024-09-13 15:57 ` [PATCH v7 2/8] xen/riscv: allow write_atomic() to work with non-scalar types Oleksii Kurochko
2024-09-16 6:25 ` Jan Beulich
2024-09-16 8:54 ` oleksii.kurochko
2024-09-13 15:57 ` [PATCH v7 3/8] xen/riscv: set up fixmap mappings Oleksii Kurochko
2024-09-16 6:32 ` Jan Beulich
2024-09-16 9:50 ` oleksii.kurochko
2024-09-13 15:57 ` [PATCH v7 4/8] xen/riscv: introduce asm/pmap.h header Oleksii Kurochko
2024-09-13 15:57 ` [PATCH v7 5/8] xen/riscv: introduce functionality to work with CPU info Oleksii Kurochko
2024-09-16 6:48 ` Jan Beulich
2024-09-16 10:07 ` oleksii.kurochko [this message]
2024-09-13 15:57 ` [PATCH v7 6/8] xen/riscv: introduce and initialize SBI RFENCE extension Oleksii Kurochko
2024-09-13 15:57 ` [PATCH v7 7/8] xen/riscv: page table handling Oleksii Kurochko
2024-09-24 10:49 ` Jan Beulich
2024-09-24 11:30 ` oleksii.kurochko
2024-09-24 13:31 ` Jan Beulich
2024-09-25 10:07 ` oleksii.kurochko
2024-09-25 14:22 ` Jan Beulich
2024-09-25 14:50 ` oleksii.kurochko
2024-09-25 14:58 ` Jan Beulich
2024-09-27 8:49 ` oleksii.kurochko
2024-09-27 9:15 ` Jan Beulich
2024-09-27 11:32 ` oleksii.kurochko
2024-09-27 12:00 ` Jan Beulich
2024-09-13 15:57 ` [PATCH v7 8/8] xen/riscv: introduce early_fdt_map() Oleksii Kurochko
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=aa193d25ef12815d2b75fb0cbb5ae50b596fb393.camel@gmail.com \
--to=oleksii.kurochko@gmail.com \
--cc=alistair.francis@wdc.com \
--cc=andrew.cooper3@citrix.com \
--cc=bobbyeshleman@gmail.com \
--cc=connojdavis@gmail.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.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.