From 48ec9750583c47dadf0f3fd931dc2cf12f738b67 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Fri, 23 Sep 2016 12:04:01 +0100 Subject: [PATCH] bugfix: Qemu shared dir failure In case of testpmd or l2fwd loopback app, VSPERF copies sources if these tools into qemu shared folder. Maximum size of folder content is limited to approx. 500MB. This limit is exceeded in case that DPDK is built for multiple RTE_TARGETs. Unnecessary files are excluded from the copy to spare size inside shared folder. JIRA: VSPERF-398 Change-Id: Iab31a6ff2397f7031eae6a95d424317c3343d4d9 Signed-off-by: Martin Klozik Reviewed-by: Maryam Tahhan Reviewed-by: Al Morton Reviewed-by: Christian Trautman Reviewed-by: Bill Michalowski Reviewed-by: Antonio Fischetti --- testcases/testcase.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/testcases/testcase.py b/testcases/testcase.py index 06e9cd24..ccd65785 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -380,8 +380,20 @@ class TestCase(object): guest_loopback = set(S.getValue('GUEST_LOOPBACK')) if 'testpmd' in guest_loopback: try: - tasks.run_task(['rsync', '-a', '-r', '-l', r'--exclude="\.git"', - os.path.join(S.getValue('TOOLS')['dpdk_src'], ''), + # exclude whole .git/ subdirectory and all o-files; + # It is assumed, that the same RTE_TARGET is used in both host + # and VMs; This simplification significantly speeds up testpmd + # build. If we will need a different RTE_TARGET in VM, + # then we have to build whole DPDK from the scratch in VM. + # In that case we can copy just DPDK sources (e.g. by excluding + # all items obtained by git status -unormal --porcelain). + # NOTE: Excluding RTE_TARGET directory won't help on systems, + # where DPDK is built for multiple targets (e.g. for gcc & icc) + exclude = [] + exclude.append(r'--exclude=.git/') + exclude.append(r'--exclude=*.o') + tasks.run_task(['rsync', '-a', '-r', '-l'] + exclude + + [os.path.join(S.getValue('TOOLS')['dpdk_src'], ''), os.path.join(guest_dir, 'DPDK')], self._logger, 'Copying DPDK to shared directory...', -- 2.16.6