On 3/20/26 15:05, Koichiro Den wrote:
On Fri, Mar 20, 2026 at 11:04:28AM +0100, Christian Bruel wrote:
Hello Koichiro, thank you for your comment
On 3/19/26 02:28, Koichiro Den wrote:
On Wed, Mar 18, 2026 at 03:46:27PM +0100, Christian Bruel wrote:
Handle -ENOSPC error. If the number of available inbound ATU entries is
insufficient to map the subrange, skip the test instead of failing.
Link:
https://lore.kernel.org/linux-pci/20260317152707.GA85951@bhelgaas/T/#m87e4c24173097a0ea70195b71aab294ad8d6c283
Signed-off-by: Christian Bruel <[email protected]>
---
tools/testing/selftests/pci_endpoint/pci_endpoint_test.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c
b/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c
index
c417fb3a198b2d92c3060938c23807cc8bea5573..8ea2fda4539d11eb22b22800a7cb8bbaa99c91ba
100644
--- a/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c
+++ b/tools/testing/selftests/pci_endpoint/pci_endpoint_test.c
@@ -88,6 +88,8 @@ TEST_F(pci_ep_bar, BAR_SUBRANGE_TEST)
SKIP(return, "Subrange map is not supported");
if (ret == -ENOBUFS)
SKIP(return, "BAR is reserved");
+ if (ret == -ENOSPC)
+ SKIP(return, "Not enough ATU entries to allocate subrange");
Thank you for handling this!
pci_endpoint_test_bar_subrange() can also return -ENOSPC locally:
https://github.com/torvalds/linux/blob/v7.0-rc4/drivers/misc/pci_endpoint_test.c#L538
While that is a different resource limit case, I think it would still be
reasonable to treat it as SKIP as well.
Regarding Niklas's feedback to use the local EINVAL instead of ENOSPC in
pci_endpoint_test_bar_subrange(), I prefer to leave this for you to handle.
That will cover this case.
So could you consider the following tiny patch as a prerequisite for your
series?
https://lore.kernel.org/linux-pci/[email protected]/
sure, thank you
If you agree and keep your current approach, then I think the SKIP message
might be better phrased more generically, e.g. "Insufficient resources".
OK I agree, the error message should be less specific to DWC terminology,
even though this case can currently only occur on it.
Yes, I agree. As mentioned in my reply to Niklas, the other -ENOSPC is better
replaced with -EINVAL, so I just submitted a tiny patch. That concern should be
resolved.
If you prefer to keep that local case as FAIL (or at least distinguish it
with a different SKIP message), that would likely require a bit more
changes overall. Note: Niklas' earlier feedback on the SKIP message would
still apply.
OK, as Niklas also suggested, I will not set an additional local bit besides
the fail bit. The question is whether we should name it SKIP or NOSPC. I
slightly prefer NOSPC, as this is what is used in the selftest to indicate
skipping.
Personally, Niklas' "errno in struct pci_epf_test_reg" idea sounds the best
among the options discussed so far.
It is a good solution but does not match very well with the other
existing API (See the STATUS_SRC/DST_ADDR_INVALID bits). Thus, we will
keep the existing method of reporting errors using a second bit
alongside the FAIL bit.
Best regards,
Koichiro
thank you
Christian
Best regards,
Koichiro
EXPECT_FALSE(ret) TH_LOG("Test failed for BAR%d", variant->barno);
}
--
2.34.1