From: "Heyne, Maximilian" <mheyne@amazon.de>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Len Brown <lenb@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
Jeremy Linton <jeremy.linton@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] ACPI/PPTT: fix off-by-one error
Date: Wed, 7 May 2025 14:29:17 +0000 [thread overview]
Message-ID: <20250507-petit-capri-debaa30d@mheyne-amazon> (raw)
In-Reply-To: <20250507-divergent-lori-from-pluto-71daee@sudeepholla>
On Wed, May 07, 2025 at 01:56:53PM +0100, Sudeep Holla wrote:
> On Wed, May 07, 2025 at 12:42:14PM +0000, Heyne, Maximilian wrote:
> > On Wed, May 07, 2025 at 01:30:53PM +0100, Sudeep Holla wrote:
> > > On Wed, May 07, 2025 at 11:56:48AM +0000, Heyne, Maximilian wrote:
> > > > On Wed, May 07, 2025 at 12:52:18PM +0100, Sudeep Holla wrote:
> > > > >
> > > > > Just to understand, this node is absolutely processor node with no
> > > > > private resources ? I find it hard to trust this as most of the CPUs
> > > > > do have L1 I&D caches. If they were present the table can't abruptly end
> > > > > like this.
> > > >
> > > > Yes looks like it. In our case the ACPI subtable has length 0x14 which is
> > > > exactly sizeof(acpi_pptt_processor).
> > > >
> > >
> > > OK, this seem like it is emulated platform with no private resources as
> > > it is specified in the other similar patch clearly(QEMU/VM). So this
> > > doesn't match real platforms. Your PPTT is wrong if it is real hardware
> > > platform as you must have private resources.
> > >
> > > Anyways if we allow emulation to present CPUs without private resources
> > > we may have to consider allowing this as the computed pointer will match
> > > the table end.
> >
> > Is there a need by the ACPI specification that the Cache information
> > must come after the processor information? Because on our platform there
> > is Cache and it's described but at a different location seemingly. It
> > looks like caches are described first and then the CPUs.
> >
>
> That is fine but you must have reference to those caches in the processor
> node and the length of the node won't be 0x14 in that case and you shouldn't
> hit this issue. So if this is real platform, then yes I am must say you
> PPTT is wrong especially if there are caches in the table as you say just
> that processor nodes are not pointing to them correctly then ?
The ACPI tables in our case describe a core first which references the
cache as private resource and then a thread whose parent is the core but
this doesn't have a private resource. This is how it looks like:
[C8Eh 3214 1] Subtable Type : 00 [Processor Hierarchy Node]
[C8Fh 3215 1] Length : 1C
[C90h 3216 2] Reserved : 0000
[C92h 3218 4] Flags (decoded below) : 00000002
Physical package : 0
ACPI Processor ID valid : 1
Processor is a thread : 0
Node is a leaf : 0
Identical Implementation : 0
[C96h 3222 4] Parent : 000000A2
[C9Ah 3226 4] ACPI Processor ID : 0000003F
[C9Eh 3230 4] Private Resource Number : 00000002
[CA2h 3234 4] Private Resource : 00000072
[CA6h 3238 4] Private Resource : 0000008A
[CAAh 3242 1] Subtable Type : 00 [Processor Hierarchy Node]
[CABh 3243 1] Length : 14
[CACh 3244 2] Reserved : 0000
[CAEh 3246 4] Flags (decoded below) : 0000000E
Physical package : 0
ACPI Processor ID valid : 1
Processor is a thread : 1
Node is a leaf : 1
Identical Implementation : 0
[CB2h 3250 4] Parent : 00000C8E
[CB6h 3254 4] ACPI Processor ID : 0000003F
[CBAh 3258 4] Private Resource Number : 00000000
>
> > I can try to drill even deeper here if you insist. As said I'm no
> > subject matter expert here. But is there something obviously wrong with
> > my patch or would it be ok to just take it?
> >
>
> Yes you much check your PPTT if it is real hardware platform. I am OK
> with the change in terms of QEMU or VM. You may need to reword commit
> message a bit. I will respond separately.
>
> --
> Regards,
> Sudeep
Amazon Web Services Development Center Germany GmbH
Tamara-Danz-Str. 13
10243 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss
Eingetragen am Amtsgericht Charlottenburg unter HRB 257764 B
Sitz: Berlin
Ust-ID: DE 365 538 597
next prev parent reply other threads:[~2025-05-07 14:29 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 13:13 [PATCH] ACPI/PPTT: fix off-by-one error Heyne, Maximilian
2025-05-06 13:43 ` Sudeep Holla
2025-05-06 20:08 ` Heyne, Maximilian
2025-05-07 11:52 ` Sudeep Holla
2025-05-07 11:56 ` Heyne, Maximilian
2025-05-07 12:30 ` Sudeep Holla
2025-05-07 12:35 ` Rafael J. Wysocki
2025-05-07 12:42 ` Heyne, Maximilian
2025-05-07 12:50 ` Rafael J. Wysocki
2025-05-07 13:01 ` Sudeep Holla
2025-05-07 12:56 ` Sudeep Holla
2025-05-07 14:29 ` Heyne, Maximilian [this message]
2025-05-07 15:12 ` Sudeep Holla
2025-05-06 20:11 ` Jeremy Linton
2025-05-07 11:53 ` Heyne, Maximilian
2025-05-07 11:59 ` Rafael J. Wysocki
2025-05-07 12:17 ` Heyne, Maximilian
2025-05-07 15:25 ` Jeremy Linton
2025-05-07 15:42 ` Rafael J. Wysocki
2025-05-07 15:51 ` Jeremy Linton
2025-05-07 16:12 ` Rafael J. Wysocki
2025-05-07 16:28 ` Sudeep Holla
2025-05-07 16:31 ` Jeremy Linton
2025-05-07 16:38 ` Jeremy Linton
2025-05-07 16:41 ` Jeremy Linton
2025-05-07 17:01 ` Rafael J. Wysocki
2025-05-07 17:35 ` Jeremy Linton
2025-05-07 17:59 ` Jeremy Linton
2025-05-07 15:47 ` Sudeep Holla
2025-05-07 15:52 ` Sudeep Holla
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=20250507-petit-capri-debaa30d@mheyne-amazon \
--to=mheyne@amazon.de \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=jeremy.linton@arm.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=stable@vger.kernel.org \
--cc=sudeep.holla@arm.com \
/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.