DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Bruce Richardson <bruce.richardson@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: Qi Zhang <qi.z.zhang@intel.com>,
	dev@dpdk.org, jingjing.wu@intel.com, helin.zhang@intel.com,
	wenzhuo.lu@intel.com, jing.d.chen@intel.com
Subject: Re: [dpdk-dev] [PATCH 0/3 v2] disable vector PMD for i686
Date: Fri, 28 Apr 2017 10:34:24 +0100	[thread overview]
Message-ID: <6cda12cf-1f3f-d53f-aed2-110cbe9c7016@intel.com> (raw)
In-Reply-To: <20170428092617.GA14648@bricha3-MOBL3.ger.corp.intel.com>

On 4/28/2017 10:26 AM, Bruce Richardson wrote:
> On Fri, Apr 28, 2017 at 11:14:24AM +0200, Thomas Monjalon wrote:
>> 27/04/2017 11:25, Bruce Richardson:
>>> On Thu, Apr 27, 2017 at 03:01:04AM -0400, Qi Zhang wrote:
>>>> Vector PMD is not designed for i686 orginally, but it still can be active
>>>> with i686 compile option.
>>>> Below are observed failure when vPMD is invovled on i686
>>>> (but may not limited to)
>>>>
>>>> 1) memory overwrite when assign 2 mbuf points to rx return points.
>>>> _mm_storeu_si128((__m128i *)&rx_pkts[pos+2], mbp2)
>>>
>>> Is this a serious issue that prevents us using the driver? I think it's been
>>> in the code for quite some time. Can it not be relatively easily fixed for
>>> 32-bit builds?
>>>
>>>>
>>>> 2) rearm_data is not 16 bytes aligned that cause general-protection exception
>>>> _mm_store_si128((__m128i *)&rx_pkts[0]->rearm_data, rearm0);
>>>>
>>>
>>> Good catch. I think this is also an easy fix. My preferred fix is to
>>> explicitly align the rearm data on a 16-byte boundary. It would add some
>>> padding to the middle of cacheline0 of the mbuf, but given that we
>>> explicitly move other data to cacheline1, we will have padding on 32-bit
>>> anyway, be it in the middle or the end of the mbuf cachelines.
>>>
>>>> So the patch set will exclude Vector PMD from compile with i686 configure.
>>
>> Please try to fix the drivers instead of turning them off.
> 
> The patch for alignment of physical addresses should fix these issues,
> removing the need for these patches.

Patches marked as rejected, Thanks for the fix Bruce!

> 
> /Bruce
> 

      reply	other threads:[~2017-04-28  9:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-24 14:58 [dpdk-dev] [PATCH 0/3] " Qi Zhang
2017-04-24 14:58 ` [dpdk-dev] [PATCH 1/3] net/i40e: " Qi Zhang
2017-04-24 14:58 ` [dpdk-dev] [PATCH 2/3] net/ixgbe: " Qi Zhang
2017-04-24 14:58 ` [dpdk-dev] [PATCH 3/3] net/fm10k: " Qi Zhang
2017-04-27  7:01 ` [dpdk-dev] [PATCH 0/3 v2] " Qi Zhang
2017-04-27  7:01   ` [dpdk-dev] [PATCH 1/3 v2] net/i40e: " Qi Zhang
2017-04-27  7:01   ` [dpdk-dev] [PATCH 2/3 v2] net/ixgbe: " Qi Zhang
2017-04-27  7:01   ` [dpdk-dev] [PATCH 3/3 v2] net/fm10k: " Qi Zhang
2017-04-27  9:25   ` [dpdk-dev] [PATCH 0/3 v2] " Bruce Richardson
2017-04-28  9:14     ` Thomas Monjalon
2017-04-28  9:26       ` Bruce Richardson
2017-04-28  9:34         ` Ferruh Yigit [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=6cda12cf-1f3f-d53f-aed2-110cbe9c7016@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=jing.d.chen@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=thomas@monjalon.net \
    --cc=wenzhuo.lu@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).