From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0046.outbound.protection.outlook.com [104.47.32.46]) by dpdk.org (Postfix) with ESMTP id 174AD90F4 for ; Thu, 24 Aug 2017 15:30:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=sfiVMXtqcEx6Wbj3hZ6JQxDgPVCC7W4om0fTnqT/RhE=; b=ni0uy9hrlTRMeEx1lB6+XEw1pSEd83x6dji/G02Oxia7gkAMDG1F10yccI8zoFlGCNMUpPe0aTbm1M212TsuvwvJ/Pk6CL50CcbmptPQi63WfJsx0tKZP7JHWdlknNXQJ+vbkY5VRFMPeoF6OAmi3SkUTVWjhhZRPnoJ2oAIMiU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (14.140.2.178) by CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18; Thu, 24 Aug 2017 13:30:09 +0000 From: Santosh Shukla To: olivier.matz@6wind.com, dev@dpdk.org Cc: thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, Santosh Shukla Date: Thu, 24 Aug 2017 18:58:59 +0530 Message-Id: <20170824132903.32057-8-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170824132903.32057-1-santosh.shukla@caviumnetworks.com> References: <20170824132903.32057-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: BM1PR01CA0071.INDPRD01.PROD.OUTLOOK.COM (10.174.208.139) To CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b37ceae0-0865-4c76-f2c0-08d4eaf43f1f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY4PR07MB3093; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 3:rYFVlRpZ+9FwVj2W8pc8awSHzQAqL8uNs2KwnMxhCAW9kpKbxLMNSMKXEv+mM3E4Nkd4qoGTJ4rFyRyP24eb4OUybzx1caiTZ5WLxKhu6NFZfgEiyosbc4ok0fCqQwlNZmC4MrD5OiMVUZ7rIYaQF1a0pb9+BiXto7aB6Q1161kp8Dlfl8XvjgiObPK39poFd/6hEFw2dnzWgSH9W6TYNjhHraAiL90jn4eXD2SlcAqBmJ8W1JRe+pXYhjBD6lia; 25:VD3afdjYt1Usbs2AJdiWJmMaSxi18mmIXLraoSsCxB11UTpxsMoKxuLG0JjJ83TLxbk6ty+5XOnJuplE1/63O11fRpN+CYFnUGWjG9Jr1Rt2lJLgJacQi/poPKWIXAgx+S5vstwQ05/aCqqkUuI1182r+OzdfNIckuWSOXBG/Kwa2cPqyoiwAbF/lo1x2GGMVfT85zeyvGxIca417uo9aK878OlW/ECNv30568PiFqwFbScVKMasAv7FYvSrAB8QXiajwy9d4Q2WHEKf9IVRskukmz/Y7xNZ5BFRfe/yj6lZvw2zp2flSNIOHriD7dv4/qhVMbOwq4zAC4wK8+S35A==; 31:EAZoe7eo8F7eXJDS/vvvHzFh0Zpwjxy8ZRCO5by/roPcmKbVU2kDbAmjcGxG5GVDQfSAX6+xbTbgMzN16yGoWEStd5W2J7Ei3KrGRzVQis3CpRnQw74X9Qnn3DZfWkDnZme6be5bYb+emd5PcCxIt6oZcfUA2tdXLk7ux3HTyA8ARke/d0XDLBJj2tjWMGEm8JXkYmEqJ/81TPON0iaXJw499F222yEdD/5GbHY7HSo= X-MS-TrafficTypeDiagnostic: CY4PR07MB3093: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 20:raR2QokGEO/+C9jXsLgE6Ujn33A4+JWWvhXQGXPlsSd2ATikcnE8vHQAhi5Q9GYtE0w6gF8yz9ahWAMikJ/CAi28O2+GhOy1VfCbesRgbFqcsAVJLVQDdOmdCD0ixDsf7x0nPkaKG1JaGwC73KGm+7lziXXYLu20ZBfs98Nfac3TFtJQpG2FSunGz+hA3Qj7RbmGnbnvseaNLkJeBsdzpSS4VtZob0aw6je1k2aosGtya9bya42WkhglA1XPYRy43yyOju4GAfQpKVrUhDqvR4rRhTiaL1EZHHqqTf3CvdQB8tyz78qa4oFCkaEL4DkprSNqrGZawWpQE/rfxFwRDYVXVob1jCFNFWf8cvKJ/93utpldmfUqDHcNPDtYygHN2SECnnI9qR5zt8+rteRs/FeGYKSK6nLxItTzxPNjepLNHSNoH81vpcWnQyJT703i2iuMwuUl5tVP2WAQrAwfQLAbJffwxxSWk0MjjkSbs8Cc6KX4NUCYQIdkMQReI5DJSIAkB6ONJCFg5tkyw4YX4EzruxMP81jX00q4DJ6qTuh2MdgvOfljRfZ4TDwkYTTYZnFFMf8E9TnNsjjRqSvju+N2eCrwsB6mJdHK0QkwhF8=; 4:P1JfE4TU6j3mWmrcH3gQKJZ49GyU8y4uC4sRt/CfgkraOp7SSenwuDUoCiBab5F7hKtnH9QOq0XzPC9CVzGZNwQGHJH/kboEQk5fNCXH20YaR49NRNVOjCFfCYGqQYSJZZYHVVxuvNSYYVBp8WTLscdxpgZydfhO/v/+tZqi/L24OE9NoaeZx7x1FEo+huk5kC6xutiLIKP9gdopdvIP8u/Fd0cSCISHFkFC4/jeAYirQ378xKIkxUBos/HWixTV X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(6041248)(20161123560025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3093; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3093; X-Forefront-PRVS: 04097B7F7F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6069001)(6009001)(189002)(199003)(110136004)(107886003)(53936002)(105586002)(101416001)(7736002)(50226002)(76176999)(42186005)(68736007)(6486002)(33646002)(50986999)(6512007)(106356001)(1076002)(2906002)(6506006)(3846002)(6116002)(478600001)(97736004)(4326008)(5660300001)(7350300001)(47776003)(5009440100003)(72206003)(575784001)(50466002)(8656003)(48376002)(25786009)(81156014)(81166006)(66066001)(305945005)(6666003)(5003940100001)(42882006)(36756003)(8676002)(189998001)(2950100002)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3093; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3093; 23:4abTYnfLSBKuGctLjz8/nhoNtu3DMV9Dvv1NUMT6e?= =?us-ascii?Q?DO/cm0WYy0UWTMskkV5BaH5E+oTZQaIKcikkxdClTA0h+bs523/uNFTMRfJV?= =?us-ascii?Q?BNCEIOLjS4opo9p6sBSapjTcUlUP/94SU0/afGEQ63tHc4s3axvGVgxJbwG7?= =?us-ascii?Q?dgAzdAR4AFe68UQWyK2zXUzHjUJvyCHjmhNNmOicxZCnIzY60rE4+IXd23XW?= =?us-ascii?Q?97ph7p/BfzFLf2GgHe9834RbZorg/ghCwIJBrSY3JduI3ursQaL2D9FUoada?= =?us-ascii?Q?SXlzQojwLGCEZY3FhDVOu/I9sEevRxXDFEi1BCJ4AXV5nuBtD0eGV0ISC5mh?= =?us-ascii?Q?17Rld+irTahg++T9zrV5LpQ2+v6cUtZCP4Ix83TnvzGSiPbbyL1b4ajSBiId?= =?us-ascii?Q?F6YyDEcwb+TkFRufmftCL/fEF3lBfNWCAT/TTd5dWIKz/0advkc6deSHvh/+?= =?us-ascii?Q?tFLQiiUZ8cYaK4dUPCYzt1wVcbs0KxeWMOmK4WHsCOTlykgad2C2+RIY220F?= =?us-ascii?Q?2B1Mvb/lnl04t10krrkXMII/JWKqB0KxlKrM7P4IQmR67+lxkjBPA/6C4J+I?= =?us-ascii?Q?7fyzPYUrklKKNsEXj/UFeAcKuoK5X73P2Vu47Dnr+Irbj5PSvtjHbj5apLW5?= =?us-ascii?Q?JBfcavuaMGXDhxMdKZYgL08SAHoAylcHtax/EFtFCt8uyTUkuH385qo6ovWW?= =?us-ascii?Q?mm8CW3iYZw6OFft7oA6YrBK8Q/7l/8tu8BUsW1ERoAU4pj8bQpelxuYaUy6j?= =?us-ascii?Q?K3oYt67WYftAUbxlxNTe5hXL/hbh27FNbwQtZlhqGRuYiuDBFesy1Gfh4n4z?= =?us-ascii?Q?ED+2jeb19u9/Tm1nikK6AJ3aQIS5M7J6oOCdaYJnExz0XeBD8Ji8Uv/gI0xD?= =?us-ascii?Q?rN4iT8GeO84coCq1nsYPIPM9UL1t/SNUXm+RMoAJwR6AZc5Q2qyJJ0FGWHLl?= =?us-ascii?Q?ri2gtK3lH4r0Nyh5qQBCO/CTzBRuCevuNfJcz6IV234pA5ICVgTuy2HnDfOZ?= =?us-ascii?Q?mGT1T2Ja6f4CKQ+U6Lm2HicNnZP9mtf+V/ztc9RODBzNjBYse1G7ubP6UtC8?= =?us-ascii?Q?4jyokyz0qO3Ln87+s3sEaawrm/cm441BIyifM4Q0PEZ4NqKo0+R09OCdqw5e?= =?us-ascii?Q?i0Qp6MAyRFBp+ULmJA2bOFfhqgPxzcfv86wnpUhI+oR15BvuXL64rbhntpg1?= =?us-ascii?Q?0dQ2rNZYJwJMYKsi1cbZZdWfBCTaFozgYmzmM+0gqRILDjr1k/drL4VmcB6m?= =?us-ascii?Q?Ce2viTuJCuIwJqEVss=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 6:Z5FzJr/Nj/2gbaV31eAKyYxNBkfd3Kaq5rR/Jt8yhnBW+rybpnH9DxBs07ovVl/iz8h6akWltBuQotDH9Z7s/hWWtve+zaDF7fExCJQbfczDz6g1w5gXs0mjejftSoup1ubnh+VsDj5zHiBmTYDIIcck1ORjSc7qWjS235x/3Lq08Gt9d0/ueu7dTnJLnAzGq+3iZXWdfoVurVxobgqlp3O0trfx3sFW874okZ/oCbGLUJg/tnzre3yijQbYCsYK8uL3EwbpVgGWVBXvkq1wA9k3CVFGkl2brm89JTTHHhBa7gF2/sIGsfCIESsi5jWD6b4Pw9P/UfOwnc4H2BsvDw==; 5:nIQq4wwH8okNRTMEWchpsRnGgbtoL1BzZ87YW3BeuyaMuca0O+geuf4GOCLXcO4EHfmEQgAjTqGmROB99NPYT/Tb7hKtlJvDxzH/G9dIyoFqAvi1uKI0dn0IqN7qlDG2ASgF4nqHj02GSVl8cPxXF1okk5c31OrteakvU5eB8vk=; 24:AZrHqsuyVhK6kTUGfcN/XPgz4zxClowPEw9NVYesDL8GpfrGbNreT4i+fz+3GwdWufDlqkFWPKoeJdK+v/Zxh8n80l2HLyKf5QaD4QEtPWY=; 7:Bv43UCPidFk+4rq3N3S+RCNNI8Ib2496CO16cRaN4KVnspiZsr9x2heEaxPaG9BPEClDNde4kDoSuLA1+OiRME2fuISOArJPcg2kGGXEe5d+vMzh1heIpARTbIMg3BnZC2Bizmgzx1z8t+3rqPlW0NhZ2wYPYNxNuLmTtpeNdNwnawxPZJvS4vwcoQtFJDxPn94gDYihGCEzbW6ukqwCxHR56Rr7WLmF/mI5iUSiwMA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2017 13:30:09.1966 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3093 Subject: [dpdk-dev] [PATCH v1 07/11] mempool/octeontx: implement pool get count X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Aug 2017 13:30:13 -0000 Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob --- drivers/mempool/octeontx/octeontx_fpavf.c | 22 ++++++++++++++++++++++ drivers/mempool/octeontx/octeontx_fpavf.h | 2 ++ drivers/mempool/octeontx/rte_mempool_octeontx.c | 12 +++++++++++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/drivers/mempool/octeontx/octeontx_fpavf.c b/drivers/mempool/octeontx/octeontx_fpavf.c index bcbbefd7d..adee744db 100644 --- a/drivers/mempool/octeontx/octeontx_fpavf.c +++ b/drivers/mempool/octeontx/octeontx_fpavf.c @@ -488,6 +488,28 @@ octeontx_fpa_bufpool_block_size(uintptr_t handle) return FPA_CACHE_LINE_2_OBJSZ(res->sz128); } +int +octeontx_fpa_bufpool_free_count(uintptr_t handle) +{ + uint64_t cnt, limit, avail; + int gpool; + + if (unlikely(!octeontx_fpa_handle_valid(handle))) + return -EINVAL; + + gpool = octeontx_fpa_handle2gpool(handle); + + cnt = fpavf_read64((void *)((uintptr_t)handle + + FPA_VF_VHAURA_CNT(gpool))); + limit = fpavf_read64((void *)((uintptr_t)handle + + FPA_VF_VHAURA_CNT_LIMIT(gpool))); + + avail = fpavf_read64((void *)((uintptr_t)handle + + FPA_VF_VHPOOL_AVAILABLE(gpool))); + + return RTE_MIN(avail, (limit - cnt)); +} + uintptr_t octeontx_fpa_bufpool_create(unsigned int object_size, unsigned int object_count, unsigned int buf_offset, char **va_start, diff --git a/drivers/mempool/octeontx/octeontx_fpavf.h b/drivers/mempool/octeontx/octeontx_fpavf.h index 936276715..9c601e0f8 100644 --- a/drivers/mempool/octeontx/octeontx_fpavf.h +++ b/drivers/mempool/octeontx/octeontx_fpavf.h @@ -138,4 +138,6 @@ int octeontx_fpa_bufpool_destroy(uintptr_t handle, int node); int octeontx_fpa_bufpool_block_size(uintptr_t handle); +int +octeontx_fpa_bufpool_free_count(uintptr_t handle); #endif /* __OCTEONTX_FPAVF_H__ */ diff --git a/drivers/mempool/octeontx/rte_mempool_octeontx.c b/drivers/mempool/octeontx/rte_mempool_octeontx.c index 47d16cb8f..e56ea43c7 100644 --- a/drivers/mempool/octeontx/rte_mempool_octeontx.c +++ b/drivers/mempool/octeontx/rte_mempool_octeontx.c @@ -145,13 +145,23 @@ octeontx_fpavf_dequeue(struct rte_mempool *mp, void **obj_table, return 0; } +static unsigned int +octeontx_fpavf_get_count(const struct rte_mempool *mp) +{ + uintptr_t pool; + + pool = (uintptr_t)mp->pool_id; + + return octeontx_fpa_bufpool_free_count(pool); +} + static struct rte_mempool_ops octeontx_fpavf_ops = { .name = "octeontx_fpavf", .alloc = octeontx_fpavf_alloc, .free = octeontx_fpavf_free, .enqueue = octeontx_fpavf_enqueue, .dequeue = octeontx_fpavf_dequeue, - .get_count = NULL, + .get_count = octeontx_fpavf_get_count, .get_capabilities = NULL, .update_range = NULL, }; -- 2.11.0