From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 04B40A04E1;
	Tue, 22 Sep 2020 10:25:59 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 6AB621D582;
	Tue, 22 Sep 2020 10:25:59 +0200 (CEST)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by dpdk.org (Postfix) with ESMTP id 68F49DE0
 for <dev@dpdk.org>; Tue, 22 Sep 2020 10:25:58 +0200 (CEST)
IronPort-SDR: elouxiDaPT1mi1+CC5nXcvvoTbSKJjqha+0yVY8XwPmMN3Xm9DrKJX2GdFCsYdxlsQNMBXMBcT
 8rfCmINd+H8Q==
X-IronPort-AV: E=McAfee;i="6000,8403,9751"; a="140040508"
X-IronPort-AV: E=Sophos;i="5.77,290,1596524400"; d="scan'208";a="140040508"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 22 Sep 2020 01:25:57 -0700
IronPort-SDR: 3C4IPRUbyLdztGJbXpjsVmJjHNmhRHxbBl3fP5gi2nqL2dwwyKLTgYAjPNqMOaTxzblP/TF3No
 R3OhcK1h195Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.77,290,1596524400"; d="scan'208";a="382237868"
Received: from npg-dpdk-virtual-marvin-dev.sh.intel.com ([10.67.119.56])
 by orsmga001.jf.intel.com with ESMTP; 22 Sep 2020 01:25:56 -0700
From: Marvin Liu <yong.liu@intel.com>
To: bruce.richardson@intel.com
Cc: dev@dpdk.org,
	Marvin Liu <yong.liu@intel.com>
Date: Tue, 22 Sep 2020 16:21:35 +0800
Message-Id: <20200922082135.62240-1-yong.liu@intel.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH] build: enable packet data prefetch
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Data prefetch instruction can preload data into cpu’s hierarchical
cache before data access. Virtualized data paths like virtio utilized
this feature for acceleration. Since most modern cpus have support
prefetch function, we can enable packet data prefetch as default.

Signed-off-by: Marvin Liu <yong.liu@intel.com>

diff --git a/config/meson.build b/config/meson.build
index 69f2aeb605..a0c828a437 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -109,6 +109,9 @@ if not is_windows
 	add_project_link_arguments('-Wl,--no-as-needed', language: 'c')
 endif
 
+# do prefetch of packet data
+dpdk_conf.set('RTE_PMD_PACKET_PREFETCH', 1)
+
 # use pthreads if available for the platform
 if not is_windows
 	add_project_link_arguments('-pthread', language: 'c')
-- 
2.17.1