From: "Krzysztof Wilczyński" <kw@linux.com>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: kishon@kernel.org, lpieralisi@kernel.org, bhelgaas@google.com,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
robh@kernel.org, vidyas@nvidia.com, vigneshr@ti.com
Subject: Re: [PATCH v5 0/5] PCI: endpoint: Rework the EPC to EPF notification
Date: Tue, 14 Feb 2023 07:51:07 +0900 [thread overview]
Message-ID: <Y+q+2zBWoyXd041n@rocinante> (raw)
In-Reply-To: <20230124071158.5503-1-manivannan.sadhasivam@linaro.org>
Hello,
> During the review of the patch that fixes DBI access in PCI EP, Rob
> suggested [1] using a fixed interface for passing the events from EPC to
> EPF instead of the in-kernel notifiers.
>
> This series introduces a simple callback based mechanism for passing the
> events from EPC to EPF. This interface is chosen for satisfying the below
> requirements:
>
> 1. The notification has to reach the EPF drivers without any additional
> latency.
> 2. The context of the caller (EPC) needs to be preserved while passing the
> notifications.
>
> With the existing notifier mechanism, the 1st case can be satisfied since
> notifiers aren't adding any huge overhead. But the 2nd case is clearly not
> satisfied, because the current atomic notifiers forces the EPF
> notification context to be atomic even though the caller (EPC) may not be
> in atomic context. In the notification function, the EPF drivers are
> required to call several EPC APIs that might sleep and this triggers a
> sleeping in atomic bug during runtime.
>
> The above issue could be fixed by using a blocking notifier instead of
> atomic, but that proposal was not accepted either [2].
>
> So instead of working around the issues within the notifiers, let's get rid
> of it and use the callback mechanism.
>
> NOTE: DRA7xx and TEGRA194 drivers are only compile tested. Testing this series
> on the real platforms is greatly appreciated.
[...]
Applied to pci/endpoint, thank you!
[01/05] PCI: dra7xx: Use threaded IRQ handler for "dra7xx-pcie-main" IRQ
https://git.kernel.org/pci/pci/c/da87d35a6e51
[02/05] PCI: tegra194: Move dw_pcie_ep_linkup() to threaded IRQ handler
https://git.kernel.org/pci/pci/c/c2cc5cdda46c
[03/05] PCI: endpoint: Use a separate lock for protecting epc->pci_epf list
https://git.kernel.org/pci/pci/c/d6dd5bafaabf
[04/05] PCI: endpoint: Use callback mechanism for passing events from EPC to EPF
https://git.kernel.org/pci/pci/c/838125b07e77
[05/05] PCI: endpoint: Use link_up() callback in place of LINK_UP notifier
https://git.kernel.org/pci/pci/c/f5edd8715e2e
Krzysztof
prev parent reply other threads:[~2023-02-13 22:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-24 7:11 [PATCH v5 0/5] PCI: endpoint: Rework the EPC to EPF notification Manivannan Sadhasivam
2023-01-24 7:11 ` [PATCH v5 1/5] PCI: dra7xx: Use threaded IRQ handler for "dra7xx-pcie-main" IRQ Manivannan Sadhasivam
2023-01-24 7:11 ` [PATCH v5 2/5] PCI: tegra194: Move dw_pcie_ep_linkup() to threaded IRQ handler Manivannan Sadhasivam
2023-01-24 7:11 ` [PATCH v5 3/5] PCI: endpoint: Use a separate lock for protecting epc->pci_epf list Manivannan Sadhasivam
2023-01-24 7:11 ` [PATCH v5 4/5] PCI: endpoint: Use callback mechanism for passing events from EPC to EPF Manivannan Sadhasivam
2023-01-24 7:11 ` [PATCH v5 5/5] PCI: endpoint: Use link_up() callback in place of LINK_UP notifier Manivannan Sadhasivam
2023-01-24 7:16 ` [PATCH v5 0/5] PCI: endpoint: Rework the EPC to EPF notification Manivannan Sadhasivam
2023-02-13 6:57 ` Manivannan Sadhasivam
2023-02-13 18:32 ` Krzysztof Wilczyński
2023-02-13 22:51 ` Krzysztof Wilczyński [this message]
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=Y+q+2zBWoyXd041n@rocinante \
--to=kw@linux.com \
--cc=bhelgaas@google.com \
--cc=kishon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=robh@kernel.org \
--cc=vidyas@nvidia.com \
--cc=vigneshr@ti.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.