From: Chenbo Xia <chenbox@nvidia.com>
To: Konrad Sztyber <konrad.sztyber@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Nipun Gupta <nipun.gupta@amd.com>,
Peng Zhang <peng.zhang@corigine.com>,
Long Wu <long.wu@corigine.com>, Zerun Fu <zerun.fu@corigine.com>,
Chaoyong He <chaoyong.he@corigine.com>
Subject: Re: [PATCH] bus/pci: don't open uio device in secondary process
Date: Thu, 29 Aug 2024 08:06:00 +0000 [thread overview]
Message-ID: <AB07083F-ABFD-4747-806A-974A8D544D42@nvidia.com> (raw)
In-Reply-To: <20240828104002.226704-1-konrad.sztyber@intel.com>
> On Aug 28, 2024, at 18:40, Konrad Sztyber <konrad.sztyber@intel.com> wrote:
>
> External email: Use caution opening links or attachments
>
>
> The uio_pci_generic driver clears the bus master bit when the device
> file is closed. So, when the secondary process terminates after probing
Should be one space before ‘So'
> a device, that device becomes unusable in the primary process.
>
> To avoid that, the device file is now opened only in the primary
> process. The commit that introduced this regression, 847d78fb95
> ("bus/pci: fix FD in secondary process"), only mentioned enabling access
> to config space from secondary process, which still works, as it doesn't
> rely on the device file.
>
> Fixes: 847d78fb95 ("bus/pci: fix FD in secondary process")
Besides the cc stable tag mentioned by Chaoyong, commit ID should be 12-digit.
Please also fix the coding style:
WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#176: FILE: drivers/bus/pci/linux/pci_uio.c:265:
+ * closed, so open it only in the primary process */
With above fixed:
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
>
> Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
> ---
> drivers/bus/pci/linux/pci_uio.c | 25 +++++++++++++------------
> 1 file changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/bus/pci/linux/pci_uio.c b/drivers/bus/pci/linux/pci_uio.c
> index 4c1d3327a9..432316afcc 100644
> --- a/drivers/bus/pci/linux/pci_uio.c
> +++ b/drivers/bus/pci/linux/pci_uio.c
> @@ -232,18 +232,6 @@ pci_uio_alloc_resource(struct rte_pci_device *dev,
> loc->domain, loc->bus, loc->devid, loc->function);
> return 1;
> }
> - snprintf(devname, sizeof(devname), "/dev/uio%u", uio_num);
> -
> - /* save fd */
> - fd = open(devname, O_RDWR);
> - if (fd < 0) {
> - PCI_LOG(ERR, "Cannot open %s: %s", devname, strerror(errno));
> - goto error;
> - }
> -
> - if (rte_intr_fd_set(dev->intr_handle, fd))
> - goto error;
> -
> snprintf(cfgname, sizeof(cfgname),
> "/sys/class/uio/uio%u/device/config", uio_num);
>
> @@ -273,6 +261,19 @@ pci_uio_alloc_resource(struct rte_pci_device *dev,
> if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> return 0;
>
> + /* the uio_pci_generic driver clears the bus master enable bit when the device file is
> + * closed, so open it only in the primary process */
> + snprintf(devname, sizeof(devname), "/dev/uio%u", uio_num);
> + /* save fd */
> + fd = open(devname, O_RDWR);
> + if (fd < 0) {
> + PCI_LOG(ERR, "Cannot open %s: %s", devname, strerror(errno));
> + goto error;
> + }
> +
> + if (rte_intr_fd_set(dev->intr_handle, fd))
> + goto error;
> +
> /* allocate the mapping details for secondary processes*/
> *uio_res = rte_zmalloc("UIO_RES", sizeof(**uio_res), 0);
> if (*uio_res == NULL) {
> --
> 2.45.0
>
next prev parent reply other threads:[~2024-08-29 8:06 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-28 10:40 [PATCH] bus/pci: don't open uio device in secondary process Konrad Sztyber
2024-08-29 5:53 ` Chaoyong He
2024-08-29 8:06 ` Chenbo Xia [this message]
2024-08-29 8:57 ` [PATCH v2] " Konrad Sztyber
2024-08-30 3:48 ` Chenbo Xia
2024-10-11 11:15 ` [PATCH v3] " Konrad Sztyber
2024-10-24 9:05 ` David Marchand
2024-11-19 10:39 ` Konrad Sztyber
2025-09-19 10:15 ` David Marchand
2026-01-13 12:14 ` Konrad Sztyber
2025-09-22 8:22 ` Chenbo Xia
2026-01-13 12:17 ` Konrad Sztyber
2026-01-13 12:35 ` [PATCH v4] " Konrad Sztyber
2026-01-13 14:31 ` Stephen Hemminger
2024-10-07 17:49 ` [PATCH] " Stephen Hemminger
2024-10-09 10:11 ` Konrad Sztyber
2024-10-09 15:12 ` Stephen Hemminger
2024-10-11 6:38 ` Konrad Sztyber
2024-10-11 6:46 ` David Marchand
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=AB07083F-ABFD-4747-806A-974A8D544D42@nvidia.com \
--to=chenbox@nvidia.com \
--cc=chaoyong.he@corigine.com \
--cc=dev@dpdk.org \
--cc=konrad.sztyber@intel.com \
--cc=long.wu@corigine.com \
--cc=nipun.gupta@amd.com \
--cc=peng.zhang@corigine.com \
--cc=zerun.fu@corigine.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.