automatic DPDK test reports
 help / color / mirror / Atom feed
From: sys_stv@intel.com
To: test-report@dpdk.org
Cc: Thomas Monjalon <thomas@monjalon.net>,
	lijuan.tu@intel.com, daxuex.gao@intel.com,
	David Marchand <david.marchand@redhat.com>,
	Fengnan Chang <changfengnan@bytedance.com>,
	chenyux.huang@intel.com
Subject: [dpdk-test-report]|SUCCESS | dpdk|f62f4a375f| Intel-Testing
Date: 20 Feb 2023 04:15:12 -0800	[thread overview]
Message-ID: <665c30$p64qcv@orsmga005-auth.jf.intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4750 bytes --]


Test-Label: intel-Testing
Test-Status: SUCCESS 
_Testing PASS 

DPDK git repo: dpdk

commit f62f4a375ff496abf66e48d5e1b1c442b86a82c1
Author: Fengnan Chang <changfengnan@bytedance.com>
Date:   Fri Feb 10 14:30:22 2023 +0800

    malloc: optimize 4K allocations
    
    Here is a simple test case:
    "
    uint64_t entry_time, time;
    size_t size = 4096;
    unsigned align = 4096;
    for (int j = 0; j < 10; j++) {
            entry_time = rte_get_timer_cycles();
            for (int i = 0; i < 2000; i++) {
                    rte_malloc(NULL, size, align);
            }
            time = (rte_get_timer_cycles()-entry_time) * 1000000 /
                    rte_get_timer_hz();
            printf("total open time %lu avg time %lu\n", time, time/2000);
    }
    "
    
    Single rte_malloc cost time may becomes worse as the number of malloc
    increases, In my env, first round avg time is 15us, second is 44us,
    third is 77us, fourth is 168us...
    
    The reason is, in the malloc process, malloc_elem_alloc may split new_elem
    if there have too much free space after new_elem, and insert the trailer
    into freelist. When alloc 4k with align 4k, the trailer very likely insert
    to free_head[2] again, it makes free_head[2] longer. when alloc 4k again,
    it will search free_head[2] from begin, with the number of malloc
    increases, search free_head[2] need more time, so the performance will
    become worse.
    Same problem will also occurs in alloc 64k with align 64k, but if alloc
    4k with align 64, doesn't have this problem.
    
    Fix this by adjust free_head list size range, make free_head[3] hold
    elements which bigger or equal 4k, free_head[4] hold elements which bigger
    or equal 16k.
    In terms of probabilities, when alloc 4k or 16k, the probability of
    finding a suitable elem from a larger size list is greater than from a
    smaller size list.
    
    Signed-off-by: Fengnan Chang <changfengnan@bytedance.com>
    Acked-by: Morten Brørup <mb@smartsharesystems.com>

Testing Summary : 18 Case Done, 18 Successful, 0 Failures

Testbed #1: 9 Case Done, 9 Successful, 0 Failures 
	* Test result details:
	  +-------------+---------------------------+-------+
	  | suite       | case                      | status|
	  +-------------+---------------------------+-------+
	  | asan_smoke  | test_rxtx_with_ASan_enable| passed|
	  | pf_smoke    | test_pf_jumbo_frames      | passed|
	  | pf_smoke    | test_pf_rss               | passed|
	  | pf_smoke    | test_pf_tx_rx_queue       | passed|
	  | vf_smoke    | test_vf_jumbo_frames      | passed|
	  | vf_smoke    | test_vf_rss               | passed|
	  | vf_smoke    | test_vf_tx_rx_queue       | passed|
	  | virtio_smoke| test_virtio_loopback      | passed|
	  | virtio_smoke| test_virtio_pvp           | passed|
	  +-------------+---------------------------+-------+
	* Environment:
	  OS : Ubuntu 20.04.5 LTS       
	  Kernel : 5.8.0-63-generic         
	  GCC : 9.4.0-1ubuntu1~20.04.1        
	  NIC : Ethernet Controller E810-C for SFP         
	  Target : x86_64-native-linuxapp-gcc      

Testbed #2: 9 Case Done, 9 Successful, 0 Failures 
	* Test result details:
	  +-------------+---------------------------+-------+
	  | suite       | case                      | status|
	  +-------------+---------------------------+-------+
	  | asan_smoke  | test_rxtx_with_ASan_enable| passed|
	  | pf_smoke    | test_pf_jumbo_frames      | passed|
	  | pf_smoke    | test_pf_rss               | passed|
	  | pf_smoke    | test_pf_tx_rx_queue       | passed|
	  | vf_smoke    | test_vf_rss               | passed|
	  | vf_smoke    | test_vf_tx_rx_queue       | passed|
	  | vf_smoke    | test_vf_jumbo_frames      | n/a   |
	  | virtio_smoke| test_virtio_loopback      | passed|
	  | virtio_smoke| test_virtio_pvp           | passed|
	  +-------------+---------------------------+-------+
	* Environment:
	  OS : Ubuntu 20.04.5 LTS       
	  Kernel : 5.13.0-30-generic         
	  GCC : 9.4.0-1ubuntu1~20.04.1        
	  NIC : Ethernet Controller XL710 for 40GbE QSFP+         
	  Target : x86_64-native-linuxapp-gcc      

TestPlan:
	   pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst
	   vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst
	   asan_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/asan_smoke_test_plan.rst

TestSuite:
	   pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py
	   vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py
	   virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py
	   asan_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_asan_smoke.py


DPDK STV team

                 reply	other threads:[~2023-02-20 12:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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='665c30$p64qcv@orsmga005-auth.jf.intel.com' \
    --to=sys_stv@intel.com \
    --cc=changfengnan@bytedance.com \
    --cc=chenyux.huang@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=daxuex.gao@intel.com \
    --cc=lijuan.tu@intel.com \
    --cc=test-report@dpdk.org \
    --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 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).