All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafał Kozik" <rk@semihalf.com>
To: dev@dpdk.org
Cc: "Marcin Wojtas" <mw@semihalf.com>,
	"Michał Krawczyk" <mk@semihalf.com>,
	"Tzalik, Guy" <gtzalik@amazon.com>,
	"Schmeilin, Evgeny" <evgenys@amazon.com>,
	"Matushevsky, Alexander" <matua@amazon.com>,
	"Chauskin, Igor" <igorch@amazon.com>,
	"Thomas Monjalon" <thomas@monjalon.net>,
	"Ferruh Yigit" <ferruh.yigit@intel.com>, Kozik <rk@semihalf.com>
Subject: Re: [PATCH v4 1/4] igb_uio: add wc option
Date: Fri, 29 Jun 2018 15:11:55 +0200	[thread overview]
Message-ID: <CAMG3L48Vxj6f0C4b=HtDZOi0jQEqog+3K7q0ruUZijiMM1RLTA@mail.gmail.com> (raw)
In-Reply-To: <1530274637-10156-2-git-send-email-rk@semihalf.com>

> How can I confirm this silently fall-back behavior, is there any log can I turn
> on in kernel or anything from proc/sysfs?

I cannot find any.
I check it by measuring write speed.

2018-06-29 14:17 GMT+02:00 Rafal Kozik <rk@semihalf.com>:
> From: Kozik <rk@semihalf.com>
>
> Write combining (WC) increases NIC performance by making better
> utilization of PCI bus, but cannot be use by all PMD.
>
> To get internal_addr memory need to be mapped. But as memory could not be
> mapped twice: with and without WC it should be skipped for WC. [1]
>
> To do not spoil other drivers that potentially could use internal_addr,
> parameter wc_activate adds possibility to skip it for those PMDs,
> that do not use it.
>
> [1] https://www.kernel.org/doc/ols/2008/ols2008v2-pages-135-144.pdf
>         section 5.3 and 5.4
>
> Signed-off-by: Rafal Kozik <rk@semihalf.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  kernel/linux/igb_uio/igb_uio.c | 18 +++++++++++++++---
>  1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c
> index b3233f1..e16e760 100644
> --- a/kernel/linux/igb_uio/igb_uio.c
> +++ b/kernel/linux/igb_uio/igb_uio.c
> @@ -30,6 +30,7 @@ struct rte_uio_pci_dev {
>         int refcnt;
>  };
>
> +static int wc_activate;
>  static char *intr_mode;
>  static enum rte_intr_mode igbuio_intr_mode_preferred = RTE_INTR_MODE_MSIX;
>  /* sriov sysfs */
> @@ -375,9 +376,14 @@ igbuio_pci_setup_iomem(struct pci_dev *dev, struct uio_info *info,
>         len = pci_resource_len(dev, pci_bar);
>         if (addr == 0 || len == 0)
>                 return -1;
> -       internal_addr = ioremap(addr, len);
> -       if (internal_addr == NULL)
> -               return -1;
> +       if (wc_activate == 0) {
> +               internal_addr = ioremap(addr, len);
> +               if (internal_addr == NULL)
> +                       return -1;
> +       } else {
> +               internal_addr = NULL;
> +               pr_info("wc_activate is set\n");
> +       }
>         info->mem[n].name = name;
>         info->mem[n].addr = addr;
>         info->mem[n].internal_addr = internal_addr;
> @@ -650,6 +656,12 @@ MODULE_PARM_DESC(intr_mode,
>  "    " RTE_INTR_MODE_LEGACY_NAME "     Use Legacy interrupt\n"
>  "\n");
>
> +module_param(wc_activate, int, 0);
> +MODULE_PARM_DESC(wc_activate,
> +"Activate support for write combining (WC) (default=0)\n"
> +"    0 - disable\n"
> +"    other - enable\n");
> +
>  MODULE_DESCRIPTION("UIO driver for Intel IGB PCI cards");
>  MODULE_LICENSE("GPL");
>  MODULE_AUTHOR("Intel Corporation");
> --
> 2.7.4
>

  reply	other threads:[~2018-06-29 13:11 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-11 14:07 [PATCH 0/4] support for write combining Rafal Kozik
2018-04-11 14:07 ` [PATCH 1/4] igb_uio: add wc option Rafal Kozik
2018-06-27 16:34   ` Ferruh Yigit
2018-06-28 13:08     ` Rafał Kozik
2018-06-28 13:15       ` [PATCH v2 0/4] support for write combining Rafal Kozik
2018-06-28 13:15         ` [PATCH v2 1/4] igb_uio: add wc option Rafal Kozik
2018-06-28 14:32           ` Ferruh Yigit
2018-06-29  8:35             ` Rafał Kozik
2018-06-29 10:08               ` Ferruh Yigit
2018-06-29 10:24           ` [PATCH v3 0/4] support for write combining Rafal Kozik
2018-06-29 10:24             ` [PATCH v3 1/4] igb_uio: add wc option Rafal Kozik
2018-06-29 10:53               ` Ferruh Yigit
2018-06-29 12:17               ` [PATCH v4 0/4] Support for write combining Rafal Kozik
2018-06-29 12:17                 ` [PATCH v4 1/4] igb_uio: add wc option Rafal Kozik
2018-06-29 13:11                   ` Rafał Kozik [this message]
2018-06-29 13:20                   ` Ferruh Yigit
2018-06-29 13:40                   ` Ferruh Yigit
2018-06-29 12:17                 ` [PATCH v4 2/4] bus/pci: reference driver structure Rafal Kozik
2018-06-29 12:17                 ` [PATCH v4 3/4] eal: enable WC during resources mapping Rafal Kozik
2018-06-29 12:17                 ` [PATCH v4 4/4] net/ena: enable WC Rafal Kozik
2018-06-29 13:54               ` [PATCH v5 0/4] Support for write combining Rafal Kozik
2018-06-29 13:54                 ` [PATCH v5 1/4] igb_uio: add wc option Rafal Kozik
2018-06-29 13:54                 ` [PATCH v5 2/4] bus/pci: reference driver structure Rafal Kozik
2018-06-29 13:54                 ` [PATCH v5 3/4] eal: enable WC during resources mapping Rafal Kozik
2018-06-29 13:54                 ` [PATCH v5 4/4] net/ena: enable WC Rafal Kozik
2018-06-29 14:26                 ` [PATCH v5 0/4] Support for write combining Ferruh Yigit
2018-06-29 22:13                   ` Thomas Monjalon
2018-06-29 10:24             ` [PATCH v3 2/4] bus/pci: reference driver structure Rafal Kozik
2018-06-29 10:24             ` [PATCH v3 3/4] eal: enable WC during resources mapping Rafal Kozik
2018-06-29 10:24             ` [PATCH v3 4/4] net/ena: enable WC Rafal Kozik
2018-06-28 13:15         ` [PATCH v2 2/4] bus/pci: reference driver structure Rafal Kozik
2018-06-28 13:15         ` [PATCH v2 3/4] eal: enable WC during resources mapping Rafal Kozik
2018-06-28 14:50           ` Ferruh Yigit
2018-06-29  8:58             ` Rafał Kozik
2018-06-29  9:05               ` Ferruh Yigit
2018-06-29 10:28                 ` Rafał Kozik
2018-06-29 10:37                   ` Ferruh Yigit
2018-06-28 13:15         ` [PATCH v2 4/4] net/ena: enable WC Rafal Kozik
2018-07-02  6:52           ` Michał Krawczyk
2018-04-11 14:07 ` [PATCH 2/4] bus/pci: reference driver structure Rafal Kozik
2018-06-27 16:36   ` Ferruh Yigit
2018-06-28 13:05     ` Rafał Kozik
2018-04-11 14:07 ` [PATCH 3/4] eal: enable WC during resources mapping Rafal Kozik
2018-06-27 16:41   ` Ferruh Yigit
2018-06-28 13:06     ` Rafał Kozik
2018-04-11 14:07 ` [PATCH 4/4] net/ena: enable WC Rafal Kozik
2018-06-27 16:11   ` Thomas Monjalon
2018-06-28 13:04     ` Rafał Kozik
2018-04-11 14:42 ` [PATCH 0/4] support for write combining Bruce Richardson
2018-04-16 11:36   ` Rafał Kozik
2018-04-27  8:27     ` Rafał Kozik
2018-04-27 11:30       ` Bruce Richardson
2018-04-30  8:07         ` Rafał Kozik
2018-04-30  8:58           ` Bruce Richardson

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='CAMG3L48Vxj6f0C4b=HtDZOi0jQEqog+3K7q0ruUZijiMM1RLTA@mail.gmail.com' \
    --to=rk@semihalf.com \
    --cc=dev@dpdk.org \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@intel.com \
    --cc=gtzalik@amazon.com \
    --cc=igorch@amazon.com \
    --cc=matua@amazon.com \
    --cc=mk@semihalf.com \
    --cc=mw@semihalf.com \
    --cc=thomas@monjalon.net \
    /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.