DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
@ 2014-09-11  7:45 Hiroshi Shimamoto
  2014-09-11  8:13 ` Tetsuya Mukawa
  2014-09-26  3:05 ` Choi, Sy Jong
  0 siblings, 2 replies; 5+ messages in thread
From: Hiroshi Shimamoto @ 2014-09-11  7:45 UTC (permalink / raw)
  To: dev; +Cc: Hayato Momma

From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>

This patchset improves MEMNIC PMD performance.

The first patch introduces a new benchmark test run in guest,
and will be used to evaluate the following patch effects.

This patchset improves the throughput results of memnic-tester.
Using Xeon E5-2697 v2 @ 2.70GHz, 4 vCPU.
 size |  before  |  after
   64 | 4.18Mpps | 5.83Mpps
  128 | 3.85Mpps | 5.71Mpps
  256 | 4.01Mpps | 5.40Mpps
  512 | 3.52Mpps | 4.64Mpps
 1024 | 3.18Mpps | 3.68Mpps
 1280 | 2.86Mpps | 3.17Mpps
 1518 | 2.59Mpps | 2.90Mpps

Hiroshi Shimamoto (7):
  guest: memnic-tester: PMD benchmark in guest
  pmd: remove needless assignment
  pmd: use helper macros
  pmd: use compiler barrier
  pmd: packet receiving optimization with prefetch
  pmd: add branch hint in recv/xmit
  pmd: split calling mbuf free

 guest/Makefile        |  20 ++++
 guest/README.rst      |  94 +++++++++++++++++
 guest/memnic-tester.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++
 pmd/pmd_memnic.c      |  43 ++++----
 4 files changed, 417 insertions(+), 21 deletions(-)
 create mode 100644 guest/Makefile
 create mode 100644 guest/README.rst
 create mode 100644 guest/memnic-tester.c

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
  2014-09-11  7:45 [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement Hiroshi Shimamoto
@ 2014-09-11  8:13 ` Tetsuya Mukawa
  2014-09-11  8:36   ` Hiroshi Shimamoto
  2014-09-26  3:05 ` Choi, Sy Jong
  1 sibling, 1 reply; 5+ messages in thread
From: Tetsuya Mukawa @ 2014-09-11  8:13 UTC (permalink / raw)
  To: Hiroshi Shimamoto, dev; +Cc: Hayato Momma

Hi Shimamoto-san,


(2014/09/11 16:45), Hiroshi Shimamoto wrote:
> From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
>
> This patchset improves MEMNIC PMD performance.
>
> The first patch introduces a new benchmark test run in guest,
> and will be used to evaluate the following patch effects.
>
> This patchset improves the throughput results of memnic-tester.
> Using Xeon E5-2697 v2 @ 2.70GHz, 4 vCPU.
How many cores are you actually using for sending and receiving?
I guess 1 dedicated core is used for sending on host or guest side, and
one more dedicated core is for receiving on the other side.
And you've got a following performance result.
Is this correct?

Thanks,
Tetsuya Mukawa

>  size |  before  |  after
>    64 | 4.18Mpps | 5.83Mpps
>   128 | 3.85Mpps | 5.71Mpps
>   256 | 4.01Mpps | 5.40Mpps
>   512 | 3.52Mpps | 4.64Mpps
>  1024 | 3.18Mpps | 3.68Mpps
>  1280 | 2.86Mpps | 3.17Mpps
>  1518 | 2.59Mpps | 2.90Mpps
>
> Hiroshi Shimamoto (7):
>   guest: memnic-tester: PMD benchmark in guest
>   pmd: remove needless assignment
>   pmd: use helper macros
>   pmd: use compiler barrier
>   pmd: packet receiving optimization with prefetch
>   pmd: add branch hint in recv/xmit
>   pmd: split calling mbuf free
>
>  guest/Makefile        |  20 ++++
>  guest/README.rst      |  94 +++++++++++++++++
>  guest/memnic-tester.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  pmd/pmd_memnic.c      |  43 ++++----
>  4 files changed, 417 insertions(+), 21 deletions(-)
>  create mode 100644 guest/Makefile
>  create mode 100644 guest/README.rst
>  create mode 100644 guest/memnic-tester.c
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
  2014-09-11  8:13 ` Tetsuya Mukawa
@ 2014-09-11  8:36   ` Hiroshi Shimamoto
  2014-09-11  9:11     ` Tetsuya Mukawa
  0 siblings, 1 reply; 5+ messages in thread
From: Hiroshi Shimamoto @ 2014-09-11  8:36 UTC (permalink / raw)
  To: Tetsuya Mukawa, dev; +Cc: Hayato Momma

Hi Mukawa-san,

> Subject: Re: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
> 
> Hi Shimamoto-san,
> 
> 
> (2014/09/11 16:45), Hiroshi Shimamoto wrote:
> > From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
> >
> > This patchset improves MEMNIC PMD performance.
> >
> > The first patch introduces a new benchmark test run in guest,
> > and will be used to evaluate the following patch effects.
> >
> > This patchset improves the throughput results of memnic-tester.
> > Using Xeon E5-2697 v2 @ 2.70GHz, 4 vCPU.
> How many cores are you actually using for sending and receiving?

In this case, I use 4 dedicated cores pinned to each vCPU,
so the answer is 4 cores, more precisely 2 cores for the test DPDK App.

> I guess 1 dedicated core is used for sending on host or guest side, and
> one more dedicated core is for receiving on the other side.
> And you've got a following performance result.
> Is this correct?

I think you can see the test details in the first patch.
The test is done in guest only because I just want to know the
PMD performance only. The host does nothing in the test.
In guest 1 thread = 1 dedicated core emulates packet send/recv
by turning flag on/off. On the other hand another thread, also
pinned 1 dedicated core, does rx_burst and tx_burst.
The test measures how much packets can be received and transmitted
by MEMNIC PMD.
This results means that if host can sends and receives packets in
enough performance, how much throughput the guest application can
achieve.

thanks,
Hiroshi

> 
> Thanks,
> Tetsuya Mukawa
> 
> >  size |  before  |  after
> >    64 | 4.18Mpps | 5.83Mpps
> >   128 | 3.85Mpps | 5.71Mpps
> >   256 | 4.01Mpps | 5.40Mpps
> >   512 | 3.52Mpps | 4.64Mpps
> >  1024 | 3.18Mpps | 3.68Mpps
> >  1280 | 2.86Mpps | 3.17Mpps
> >  1518 | 2.59Mpps | 2.90Mpps
> >
> > Hiroshi Shimamoto (7):
> >   guest: memnic-tester: PMD benchmark in guest
> >   pmd: remove needless assignment
> >   pmd: use helper macros
> >   pmd: use compiler barrier
> >   pmd: packet receiving optimization with prefetch
> >   pmd: add branch hint in recv/xmit
> >   pmd: split calling mbuf free
> >
> >  guest/Makefile        |  20 ++++
> >  guest/README.rst      |  94 +++++++++++++++++
> >  guest/memnic-tester.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  pmd/pmd_memnic.c      |  43 ++++----
> >  4 files changed, 417 insertions(+), 21 deletions(-)
> >  create mode 100644 guest/Makefile
> >  create mode 100644 guest/README.rst
> >  create mode 100644 guest/memnic-tester.c
> >

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
  2014-09-11  8:36   ` Hiroshi Shimamoto
@ 2014-09-11  9:11     ` Tetsuya Mukawa
  0 siblings, 0 replies; 5+ messages in thread
From: Tetsuya Mukawa @ 2014-09-11  9:11 UTC (permalink / raw)
  To: Hiroshi Shimamoto, dev; +Cc: Hayato Momma

Hi Shimamoto-san,

(2014/09/11 17:36), Hiroshi Shimamoto wrote:
> Hi Mukawa-san,
>
>> Subject: Re: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
>>
>> Hi Shimamoto-san,
>>
>>
>> (2014/09/11 16:45), Hiroshi Shimamoto wrote:
>>> From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
>>>
>>> This patchset improves MEMNIC PMD performance.
>>>
>>> The first patch introduces a new benchmark test run in guest,
>>> and will be used to evaluate the following patch effects.
>>>
>>> This patchset improves the throughput results of memnic-tester.
>>> Using Xeon E5-2697 v2 @ 2.70GHz, 4 vCPU.
>> How many cores are you actually using for sending and receiving?
> In this case, I use 4 dedicated cores pinned to each vCPU,
> so the answer is 4 cores, more precisely 2 cores for the test DPDK App.
>
>> I guess 1 dedicated core is used for sending on host or guest side, and
>> one more dedicated core is for receiving on the other side.
>> And you've got a following performance result.
>> Is this correct?
> I think you can see the test details in the first patch.

Thank you so much. I haven't checked it yet.
It seems it's very nice performance! I wanna compare it with vhost
example one.

Thanks,
Tetsuya Mukawa

> The test is done in guest only because I just want to know the
> PMD performance only. The host does nothing in the test.
> In guest 1 thread = 1 dedicated core emulates packet send/recv
> by turning flag on/off. On the other hand another thread, also
> pinned 1 dedicated core, does rx_burst and tx_burst.
> The test measures how much packets can be received and transmitted
> by MEMNIC PMD.
> This results means that if host can sends and receives packets in
> enough performance, how much throughput the guest application can
> achieve.
>
> thanks,
> Hiroshi
>
>> Thanks,
>> Tetsuya Mukawa
>>
>>>  size |  before  |  after
>>>    64 | 4.18Mpps | 5.83Mpps
>>>   128 | 3.85Mpps | 5.71Mpps
>>>   256 | 4.01Mpps | 5.40Mpps
>>>   512 | 3.52Mpps | 4.64Mpps
>>>  1024 | 3.18Mpps | 3.68Mpps
>>>  1280 | 2.86Mpps | 3.17Mpps
>>>  1518 | 2.59Mpps | 2.90Mpps
>>>
>>> Hiroshi Shimamoto (7):
>>>   guest: memnic-tester: PMD benchmark in guest
>>>   pmd: remove needless assignment
>>>   pmd: use helper macros
>>>   pmd: use compiler barrier
>>>   pmd: packet receiving optimization with prefetch
>>>   pmd: add branch hint in recv/xmit
>>>   pmd: split calling mbuf free
>>>
>>>  guest/Makefile        |  20 ++++
>>>  guest/README.rst      |  94 +++++++++++++++++
>>>  guest/memnic-tester.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++
>>>  pmd/pmd_memnic.c      |  43 ++++----
>>>  4 files changed, 417 insertions(+), 21 deletions(-)
>>>  create mode 100644 guest/Makefile
>>>  create mode 100644 guest/README.rst
>>>  create mode 100644 guest/memnic-tester.c
>>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement
  2014-09-11  7:45 [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement Hiroshi Shimamoto
  2014-09-11  8:13 ` Tetsuya Mukawa
@ 2014-09-26  3:05 ` Choi, Sy Jong
  1 sibling, 0 replies; 5+ messages in thread
From: Choi, Sy Jong @ 2014-09-26  3:05 UTC (permalink / raw)
  To: Hiroshi Shimamoto, dev; +Cc: Hayato Momma

Hi Shimamoto-san,

I will help to verify the performance in our environement.


Regards,
Choi, Sy Jong
Platform Application Engineer

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Hiroshi Shimamoto
Sent: Thursday, September 11, 2014 3:45 PM
To: dev@dpdk.org
Cc: Hayato Momma
Subject: [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement

From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>

This patchset improves MEMNIC PMD performance.

The first patch introduces a new benchmark test run in guest, and will be used to evaluate the following patch effects.

This patchset improves the throughput results of memnic-tester.
Using Xeon E5-2697 v2 @ 2.70GHz, 4 vCPU.
 size |  before  |  after
   64 | 4.18Mpps | 5.83Mpps
  128 | 3.85Mpps | 5.71Mpps
  256 | 4.01Mpps | 5.40Mpps
  512 | 3.52Mpps | 4.64Mpps
 1024 | 3.18Mpps | 3.68Mpps
 1280 | 2.86Mpps | 3.17Mpps
 1518 | 2.59Mpps | 2.90Mpps

Hiroshi Shimamoto (7):
  guest: memnic-tester: PMD benchmark in guest
  pmd: remove needless assignment
  pmd: use helper macros
  pmd: use compiler barrier
  pmd: packet receiving optimization with prefetch
  pmd: add branch hint in recv/xmit
  pmd: split calling mbuf free

 guest/Makefile        |  20 ++++
 guest/README.rst      |  94 +++++++++++++++++
 guest/memnic-tester.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++
 pmd/pmd_memnic.c      |  43 ++++----
 4 files changed, 417 insertions(+), 21 deletions(-)  create mode 100644 guest/Makefile  create mode 100644 guest/README.rst  create mode 100644 guest/memnic-tester.c

--
1.8.3.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-09-26  3:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-11  7:45 [dpdk-dev] [memnic PATCH 0/7] MEMNIC PMD performance improvement Hiroshi Shimamoto
2014-09-11  8:13 ` Tetsuya Mukawa
2014-09-11  8:36   ` Hiroshi Shimamoto
2014-09-11  9:11     ` Tetsuya Mukawa
2014-09-26  3:05 ` Choi, Sy Jong

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).