All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier MATZ <olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Vlad Zolotarov
	<vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>,
	"Ananyev,
	Konstantin"
	<konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"dev-VfR2kkLFssw@public.gmane.org"
	<dev-VfR2kkLFssw@public.gmane.org>
Subject: Re: [PATCH v6 3/3] ixgbe: Add LRO support
Date: Fri, 13 Mar 2015 10:07:52 +0100	[thread overview]
Message-ID: <5502A8E8.3010004@6wind.com> (raw)
In-Reply-To: <5500734A.7060800-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>

Hi Vlad,

On 03/11/2015 05:54 PM, Vlad Zolotarov wrote:
>>>> About the existing RX/TX functions and PPC support:
>>>> Note that all of them were created before PPC support for DPDK was
>>>> introduced.
>>>> At that moment only IA was supported.
>>>> That's why in some places where you would expect to see 'mb()' there
>>>> are 'volatile' and/or ' rte_compiler_barrier' instead.
>>>> Why all that places wasn't updated when PPC support was added -
>>>> that's another question.
>>>>   From my understanding - with current implementation some of DPDK
>>>> PMDs RX/TX functions and  rte_ring wouldn't work correctly
>>> on PPC.
>>>> So, I suppose we need to decide for ourselves - do we really want to
>>>> support PPC and other architectures with non-IA memory
>>> model or not?
>>>> If not, then I think we don't need any mb()s inside recv_pkts_lro()
>>>> - just rte_compiler_barrier seems enough, and no point to
>>> complain about
>>>> it in comments.
>>>> If yes - then why to introduce a new function with a known potential
>>>> bug?
>>> In order to introduce a new function with the proper implementation or
>>> to fix any other places with the similar weakness I would need a proper
>>> tools like a proper platform-dependent barrier-macros similar to
>>> smp_Xmb() Linux macros that reduce to a compiler barrier where
>>> appropriate or to a proper memory fence where needed.
>> I understand that.
>> Let's add new macro for that: rte_smp_Xmb() or something,
>> so it would be just rte_compiler_barrier() for x86 and a proper mb()
>> for PPC.
>
> There was an idea to use the C11 built-in memory barriers. I suggest we
> open a separate discussion about that and add these and the appropriate
> fixes in a separate series. There are quite a few places to fix anyway,
> which are currently broken on PPC so this patch doesn't make things any
> worse. However adding a new memory barrier doesn't belong to an LRO
> functionality and thus to this series.

This is an interesting discussion. Just for reference, I submitted a
patch on this topic but it was probably too early as only Intel
architecture was supported at that time.

See http://dpdk.org/ml/archives/dev/2014-May/002597.html

Regards,
Olivier

  parent reply	other threads:[~2015-03-13  9:07 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-09 19:07 [PATCH v6 0/3]: Add LRO support to ixgbe PMD Vlad Zolotarov
     [not found] ` <1425928037-28732-1-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-09 19:07   ` [PATCH v6 1/3] ixgbe: Cleanups Vlad Zolotarov
     [not found]     ` <1425928037-28732-2-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-09 20:15       ` Ananyev, Konstantin
2015-03-09 19:07   ` [PATCH v6 2/3] ixgbe: Code refactoring Vlad Zolotarov
2015-03-09 19:07   ` [PATCH v6 3/3] ixgbe: Add LRO support Vlad Zolotarov
     [not found]     ` <1425928037-28732-4-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-10  0:30       ` Ananyev, Konstantin
     [not found]         ` <2601191342CEEE43887BDE71AB977258213F5039-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-03-10 13:22           ` Vlad Zolotarov
     [not found]             ` <54FEF011.6010205-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-10 20:09               ` Ananyev, Konstantin
     [not found]                 ` <2601191342CEEE43887BDE71AB977258213F5475-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-03-10 21:36                   ` Vlad Zolotarov
     [not found]                     ` <54FF63CB.4040506-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-11 16:32                       ` Ananyev, Konstantin
     [not found]                         ` <2601191342CEEE43887BDE71AB977258213F589B-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-03-11 16:54                           ` Vlad Zolotarov
     [not found]                             ` <5500734A.7060800-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-13  9:07                               ` Olivier MATZ [this message]
     [not found]                                 ` <5502A8E8.3010004-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2015-03-13 11:28                                   ` Ananyev, Konstantin
     [not found]                                     ` <2601191342CEEE43887BDE71AB977258213F5EC4-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-03-13 12:12                                       ` Vlad Zolotarov
2015-03-10 17:51           ` Vlad Zolotarov
2015-03-16 18:26       ` Vlad Zolotarov
     [not found]         ` <55072056.80801-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-18  0:31           ` Ananyev, Konstantin
     [not found]             ` <2601191342CEEE43887BDE71AB977258213F6FA4-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-03-18 10:29               ` Vlad Zolotarov

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=5502A8E8.3010004@6wind.com \
    --to=olivier.matz-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org \
    /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.