From: "Krzysztof Wilczyński" <kw@linux.com>
To: Keith Busch <kbusch@kernel.org>
Cc: "Bjorn Helgaas" <helgaas@kernel.org>,
"Matthew Wood" <thepacketgeek@gmail.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Mario Limonciello" <superm1@kernel.org>,
"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [RESEND PATCH v7 1/1] PCI/sysfs: Expose PCIe device serial number
Date: Wed, 17 Sep 2025 17:34:22 +0900 [thread overview]
Message-ID: <20250917083422.GA1467593@rocinante> (raw)
In-Reply-To: <aMnmTMsUWwTwnlWV@kbusch-mbp>
Hello,
> > I can see that the PCI r3.0 (conventional PCI) spec doesn't include
> > the Device Serial Number Capability and the PCIe spec does include it,
> > but this seems like it would fit better in the pci_dev_dev_attrs[],
> > and the visibility check would be parallel to the
> > dev_attr_boot_vga.attr check there.
>
> I'm not sure I agree. The pci_dev_dev_attrs apply to all pci devices,
> but DSN only exists in PCIe Extended Capability space. Conventional pci
> config requests couldn't even describe it, so seems okay to fence it off
> using the PCI-Express attribute group that already has that visibility
> barrier.
PCI-X 2.0 added Extended Configuration Space[1]. Perhaps why Bjorn had
different attributes group in mind here.
> I also don't like Krzysztof's suggestion to make it visible even if we
> know you can't read it.
I simply wanted to keep this new attribute and its behaviour aligned with
the existing ones. Which we keep visible for historic reasons.
I don't like the special case it becomes within pcie_dev_attrs_are_visible(),
but it can't be helped without introducing an entirely new group for this
alone which would be an overkill, indeed.
That said, no strong feelings about it. I wish we could clean the existing
ones up a bit, though.
> The exisiting attributes that behave that way shouldn't do that, IMO.
A lot of then, as Jonathan also reminded us, predate kernfs' visibility
feature, sadly. We probably won't change the existing ones, indeed, to
avoid potentially breaking something for some users.
This is why I was curious why do we need such an attribute to be added,
as when these new objects for PCI are added and gain users, then there
are often here to stay, with broken behaviour or not, sadly. We don't
have any sensible way of properly deprecating things in this area.
> It's a waste of resources to provide a handle just to say the capability
> doesn't exist when the handle could just not exist instead.
I haven't checked how the kernfs side looks like, admittedly, but I think
whether an attribute is visible or not, it does not unload and/or de-allocate
any space for the accompanying kernfs object... So, the resources saving
here might not be in any way significant.
1. https://en.m.wikipedia.org/wiki/PCI_configuration_space
Thank you,
Krzysztof
next prev parent reply other threads:[~2025-09-17 8:34 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-21 23:22 [RESEND PATCH v7 0/1] PCI/sysfs: Expose PCIe device serial number Matthew Wood
2025-08-21 23:22 ` [RESEND PATCH v7 1/1] " Matthew Wood
2025-08-22 0:04 ` Keith Busch
2025-08-27 1:34 ` Hans Zhang
2025-08-27 19:39 ` Keith Busch
2025-09-12 16:56 ` Keith Busch
2025-09-13 6:17 ` Krzysztof Wilczyński
2025-09-15 10:03 ` Jonathan Cameron
2025-09-15 14:28 ` Keith Busch
2025-09-13 6:20 ` Krzysztof Wilczyński
2025-09-15 22:23 ` Keith Busch
2025-09-16 13:53 ` Jonathan Cameron
2025-09-15 19:39 ` Bjorn Helgaas
2025-09-16 22:35 ` Keith Busch
2025-09-17 8:34 ` Krzysztof Wilczyński [this message]
2025-09-17 8:52 ` Thomas Weißschuh
2025-09-17 12:16 ` Krzysztof Wilczyński
2025-09-17 9:08 ` Matthew Wood
2025-09-17 12:17 ` Krzysztof Wilczyński
2025-09-17 8:36 ` Krzysztof Wilczyński
-- strict thread matches above, loose matches on Subject: below --
2025-08-11 17:39 [RESEND PATCH v7 0/1] " Matthew Wood
2025-08-11 17:39 ` [RESEND PATCH v7 1/1] " Matthew Wood
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=20250917083422.GA1467593@rocinante \
--to=kw@linux.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=kbusch@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=superm1@kernel.org \
--cc=thepacketgeek@gmail.com \
--cc=thomas.weissschuh@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox