From patchwork Thu Dec 10 16:36:15 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 9468 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 06ABE8E79; Thu, 10 Dec 2015 17:37:12 +0100 (CET) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0073.outbound.protection.outlook.com [207.46.100.73]) by dpdk.org (Postfix) with ESMTP id 68A5A8E79 for ; Thu, 10 Dec 2015 17:37:10 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from localhost.localdomain.localdomain (122.166.129.221) by BLUPR0701MB1715.namprd07.prod.outlook.com (10.163.85.141) with Microsoft SMTP Server (TLS) id 15.1.337.19; Thu, 10 Dec 2015 16:37:06 +0000 From: Jerin Jacob To: Date: Thu, 10 Dec 2015 22:06:15 +0530 Message-ID: <1449765378-29563-2-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1449765378-29563-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1449417564-29600-1-git-send-email-jerin.jacob@caviumnetworks.com> <1449765378-29563-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [122.166.129.221] X-ClientProxiedBy: MAXPR01CA0058.INDPRD01.PROD.OUTLOOK.COM (25.164.146.158) To BLUPR0701MB1715.namprd07.prod.outlook.com (25.163.85.141) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 2:aJov85PH3NKr8CrMP5dIaaGIWgj8Iv+oMG/EXxStuF5S26NWE5mtFzunkSVfYYqcYMQczww2iup/foEtOal1lWjNur2XRoQ3T9xP7n6LFqHuhc50LlJXwyMKjnZeSHm4CtFebX+oyrH0pyo2xvE5ZQ==; 3:W5BfnTyN4mgXblCdZ9Tjo/YQb6TynQQ9EGvTz/cdjKRIwW1mtod65Q1yS7OvpPaKMVSQmwJw2ko4BbAt1vbnjH/ccL/CkAfzpJsjTvycVtMXocg9FZxR/mkjIOCo587v; 25:BaAipT9meZMyjDqI/XyP7534Y5w1q+XbzQKzAmrdj08h5und6VyAeMlouPSZ58+x7ByynCr+n7OtXbmeF1EgqnbCHXSm9dvRVGldg8gjaC1wDTZup9Z8X/+dBCypcmXrB+3TjviEizEuUd81AZCyeJVyCS68Zm4eqTzI/AO3A0EnmhXQb7uLYPDuVryDFp5Pjv6IfstkPsx0or2CvYgDAQEo2PUPzUkU0YwRSubatzcY/j3x9NXFDKioYR5xzFjuo/ZBVIE/3jDEmbwQKfkl7w== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1715; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 20:0t/O25mBb/lVlIisepa9R5vogchyU9sxUb7LfFNPSGES+JoImrTVnCwGAhOjlxHLk/ivpc1TSPO6yvWUdLbjkTDX5jJuOjO5UPg04ABjo/P8jw68vJMzqfl7gZdyxcf0sfHgmkIws1TWYpCEyVGQ+/eVxNbLeEbjEJs4mJFoxx1iqu0mzonPGlvYEK3KyGZgQNZNz2amp/DQydxvoKcPXCN2PaGnSN+Gcu5e6/D3mUf1WxoSMap6LoQlrmhRknjc6dwBTAdvP9BK2amjqK3yCO0SIZ5qSegZgEH+klxsy6qlP+XVkHbEHv6G5/jupyc8qu9S+3ZvHgtsptM9uVZsWrgRLI4PwnbiysVjDwBxLGnzATfMn2vQYSJ/oBh47lrqeSPbUlVH+Ur5K4Ujbizir484uupiPuUwaAq7Zx55Sbnkni1xYZBKNRhsWrqj7dD/raew30juQQ7//4KeXpZ/1hDKf4n7KhOnXG+P/36P+efMzX8qKgDXEdTkdNUkV1eezXq3QSo488OHzmeIV/Hy4rs+EVosDeT4oGsIpY6d/THxB/w6TtrbXA9ow7zFcjxQfhiA+ontsdi8V7kS9U2Ef6cOUzjAkARiTnYR0O79IdU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(10201501046)(3002001); SRVR:BLUPR0701MB1715; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1715; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 4:JXURNIoLjmARRsmerFqGDuSF/ZM3gplhXRV1fbcU+ldZRCSMyc8mxi8m63g5mbSvCk90FynIDjOdxAEyQwxMdA0MvrOwK2CTZFunAMq6F8JwdA8pIgsPtE4tLQTSHbZgJny8DBbBErFDr8MC9vyhueeLhA7eRfxLEiaq+oWtUtTegwOHJVFfqR0e0+OzTmxU1q7YlpmVd/ykn/hWEG5sE9JaORDkfZnhYIOCRzF2+eKs+r3sSIpAva+ZkUJMinK82rs7dKobZVosqr25hw23yt5XiVUavkvX4PlrDjHWPhEmz//BDWNeVjry0lsk7ITFbc1cwAIUrOyZlQsT1hWlwtwiTzC94fHfAYpLtR8LgOnkyyJCb3uebIl+UQvP/RsQ1HUXHPkJXoE3sLuXEY7TC5gQ/Auk0W1Y7N6O6cdClwyrmuGlwcL3KzzRDkxyNTthZ9P2Un9uAO93fbOubiRjTA== X-Forefront-PRVS: 078693968A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(189002)(199003)(97736004)(229853001)(5004730100002)(40100003)(586003)(5003940100001)(1096002)(105586002)(6116002)(5008740100001)(2950100001)(3846002)(4001430100002)(36756003)(189998001)(106356001)(86362001)(122386002)(107886002)(77096005)(92566002)(42186005)(2351001)(33646002)(48376002)(50226001)(66066001)(81156007)(76176999)(47776003)(5001960100002)(19580395003)(50986999)(19580405001)(110136002)(101416001)(87976001)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1715; H:localhost.localdomain.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1715; 23:Qv2+TTQv7gg/syY9CSGw8NuHEntALh5e8CmWd92?= =?us-ascii?Q?07PclH7fFpltNrWJFDkJo3BiOdm/s4eDEO1HdxfYCai7FQhY0Qa2q9BnkguM?= =?us-ascii?Q?X4oQQpFVwAWT5AKl36scyvcKH+El6MP4nxzjFFsbLU9q9CrG4pXyfcu+ZigT?= =?us-ascii?Q?gXxLmcf8wNNRGs8YYpxpgKJerfuk6/xDF/57PmLn7Yihhv8zTgFYy9xbTgRU?= =?us-ascii?Q?ZkYaKywXHsWRkgD65Cs9qFYt4YbFkqksWuhpr2a1HD9+d7sM2vlqOqQNOGoT?= =?us-ascii?Q?G6OtnITiqkbH+8wwkpWW7+KOVw6m3g/wlH2tbRY3J3oVdaq7fY0BKj3turR9?= =?us-ascii?Q?qVG711bqgGZcYXZk06DA9jbZW1hYxC+bGcM+SQL69BpCyuqTF46g5LpqDd/n?= =?us-ascii?Q?PEnO7JIMORudf7ICF2pKZr4oBqb6tn5ygpC9bFHlAT3/+PdvvThJh2qvsq5j?= =?us-ascii?Q?dLDu6LHng29AyIgegpGw+XI/hLJgnZ6sDkfeJJS3khAtxZMD2ySn8DWjnF3L?= =?us-ascii?Q?gQ3GIWS/SHHmt+xbaxG1yIlRwtP3HITHH42+qwhyraj3qUAQDwn66e/eBUYu?= =?us-ascii?Q?NIACtg1bXo+werlfbW7XENPeZVHt+4c/UIsgRG2pj+11DBnvdcohSPgRLDzE?= =?us-ascii?Q?pLug3kgRAyjCk+nKzl/0UeVh7OqBd2Kci7RMnnbFHTjIvoe6mNmBAJuaPrID?= =?us-ascii?Q?PujWE09mHuuUCa1nh2AyomLBbWjcr0ocRVzcHw08CMeVOPkZkAjOt24/CLm3?= =?us-ascii?Q?zFmYAEeEKk/DiKP8R3Nln7G7TJBej7LNNijbkQ0MUm/e3GXYbk4SfdL13Mjl?= =?us-ascii?Q?GBYGzxIR+u9jITUBp9ub2WaDqikS3wiKJ16xjS0PqUfaGIDngrg+as4Anpt8?= =?us-ascii?Q?30Rco5M8vNWVktd/x3kfQIuk2CTJ1jhbbDFZlEpLPwkfiJQPiU7Ge5ZKd99n?= =?us-ascii?Q?Z2zxcdaZB6BVTrcJwAyj2P/Fd0hPxw+XDbBTcZbrzkW5ck5hHTa/mPuPSWTL?= =?us-ascii?Q?6HGFHbw1oUNYfTypfYoHN4dgOUb3BS3gHaM1c3YsA1G7a7ks6zBiCOdqmGmN?= =?us-ascii?Q?Nl6ontkfFD392B5dDNDKQZIfXQoSefP4x5wA3kvlsmhFtPPPHnM+EAG2FVg/?= =?us-ascii?Q?ncICP2hd2Zk0=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 5:g4vwCj+7rz2pbC48oJtLb0mu/1no3bSj+jKnb6KCNohAdHi1TS1XuXWsfCwr0/P1yrcl/YBsJNAaCW5aXUikw6sw3lVnpTgcmkQsOqoIzKCuElU2LGby1QKu+b8hod+/DYwQAe0s2dR7wYA6cvq5lQ==; 24:O0dHxLLTzXnKHuLlebXr8vxVbucn/JJezzn4Bpry3nMpvtYPvfWymI5KpXLfHRDoVOtsnbio+vMbqcjMTCyP1tZqHGWgzWJujGKO5CxzWDo= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Dec 2015 16:37:06.0461 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1715 Subject: [dpdk-dev] [PATCH v2 1/4] eal: Introduce new cache macro definitions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" - RTE_CACHE_MIN_LINE_SIZE(Supported minimum cache line size) - __rte_cache_min_aligned(Force minimum cache line alignment) - RTE_CACHE_LINE_SIZE_LOG2(Express cache line size in terms of log2) Signed-off-by: Jerin Jacob Suggested-by: Konstantin Ananyev --- lib/librte_eal/common/include/rte_memory.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/librte_eal/common/include/rte_memory.h b/lib/librte_eal/common/include/rte_memory.h index 9c9e40f..b67a76f 100644 --- a/lib/librte_eal/common/include/rte_memory.h +++ b/lib/librte_eal/common/include/rte_memory.h @@ -77,11 +77,27 @@ enum rte_page_sizes { (RTE_CACHE_LINE_SIZE * ((size + RTE_CACHE_LINE_SIZE - 1) / RTE_CACHE_LINE_SIZE)) /**< Return the first cache-aligned value greater or equal to size. */ +/**< Cache line size in terms of log2 */ +#if RTE_CACHE_LINE_SIZE == 64 +#define RTE_CACHE_LINE_SIZE_LOG2 6 +#elif RTE_CACHE_LINE_SIZE == 128 +#define RTE_CACHE_LINE_SIZE_LOG2 7 +#else +#error "Unsupported cache line size" +#endif + +#define RTE_CACHE_MIN_LINE_SIZE 64 /**< Minimum Cache line size. */ + /** * Force alignment to cache line. */ #define __rte_cache_aligned __rte_aligned(RTE_CACHE_LINE_SIZE) +/** + * Force minimum cache line alignment. + */ +#define __rte_cache_min_aligned __rte_aligned(RTE_CACHE_MIN_LINE_SIZE) + typedef uint64_t phys_addr_t; /**< Physical address definition. */ #define RTE_BAD_PHYS_ADDR ((phys_addr_t)-1)