From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D1AB6A0C43; Fri, 22 Oct 2021 14:02:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C24614114A; Fri, 22 Oct 2021 14:02:08 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 7B95541149 for ; Fri, 22 Oct 2021 14:02:07 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10144"; a="292752119" X-IronPort-AV: E=Sophos;i="5.87,172,1631602800"; d="scan'208";a="292752119" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Oct 2021 05:02:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,172,1631602800"; d="scan'208";a="576639117" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga002.fm.intel.com with ESMTP; 22 Oct 2021 05:02:05 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 22 Oct 2021 05:02:05 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Fri, 22 Oct 2021 05:02:05 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.45) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Fri, 22 Oct 2021 05:02:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gCmgS2gN5ssHqwmBh82fKfyfzJbSv9xYxciTWLWl7VI7VsVOsQptgdsSuq29kvkbwxPScSAPbhrovNjqR4WAN3CQ8Su0EogrwlUAc2ymrku7iPOCS1er9eBfnihxflw/uul0uw+s9+AseyiXV7BosBx0oHHxKBhYwngkfs8btw0uq3nYvBD/GukXCteCQZdEjUTVUX9BoiIniXccel1SRymbYdgmV4spiyEof+ub7aC8M+97P7AlVbczXAbOpIjKbpT/IAVh2lnwFS7aKyOWsZuKzDmfZAQXHZQymdKP0z8HvS8R0vYBk16zz/lYKbJ5avB34Adj/9kGehCXVUavug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bFf5sFCGvN5EksLPEqC/40G4lGJjuCCBd3FrDs5JNKQ=; b=EjCXDZeZz/1wM1dr0KL434z3UrYzH4kGq5k43KL2o5r7bQNhMgBoDLAPIyFaM65VgoiYB41NWhxNTlGLHlZ7sFMURJDCiQycRWV1MPeHkwYHJaH6yEU5u+OWzjBCEOnwWbohEBvUfMvqS0oTq26g4mPdtyr8HqC8Ol6LRdT+lrtJCUw8HbNsbifr+9/OkStBhKX/lwLI3d/j4u7rqf+xd/ERZ9S77JhARm9jPAFJ59+9G5KB5AyoG9enCQWfflt70Sa6i05YuHguKELBdTCd7CIKnEaJk+cp5bUPlWmSQ7BTCyOHL8x+LNf53+Q0k0FP8v8e12llphxJHtVjfQst4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bFf5sFCGvN5EksLPEqC/40G4lGJjuCCBd3FrDs5JNKQ=; b=RgoPA/AYlZGQct0SlQ9EYkFNsx+HAVSeDmZiCJF2MXjXbhbiXD2rHi2oWMNy2q9wUHlojlg9cot2JAgTK2W/8Hi6cmpguNgz55z08Ff5yVHx7e/ufXZU/R0u68U3IF5fnPD6Lhs13XcpuihwDjHov+5NrA/yGYoGUWr4k71vS68= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5047.namprd11.prod.outlook.com (2603:10b6:510:3c::18) by PH0PR11MB4918.namprd11.prod.outlook.com (2603:10b6:510:31::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.15; Fri, 22 Oct 2021 12:02:03 +0000 Received: from PH0PR11MB5047.namprd11.prod.outlook.com ([fe80::f1a0:809a:3d2e:e13c]) by PH0PR11MB5047.namprd11.prod.outlook.com ([fe80::f1a0:809a:3d2e:e13c%9]) with mapi id 15.20.4628.018; Fri, 22 Oct 2021 12:02:03 +0000 To: "Xia, Chenbo" , "Li, Miao" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" References: <20211015170911.478394-1-miao.li@intel.com> <20211018141638.5916-1-miao.li@intel.com> <20211018141638.5916-4-miao.li@intel.com> From: David Hunt Message-ID: <62058d3f-4e4a-b53b-4d39-1971f3bf2f32@intel.com> Date: Fri, 22 Oct 2021 13:01:57 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-ClientProxiedBy: DB6PR07CA0014.eurprd07.prod.outlook.com (2603:10a6:6:2d::24) To PH0PR11MB5047.namprd11.prod.outlook.com (2603:10b6:510:3c::18) MIME-Version: 1.0 Received: from [10.4.11.161] (95.45.23.115) by DB6PR07CA0014.eurprd07.prod.outlook.com (2603:10a6:6:2d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.10 via Frontend Transport; Fri, 22 Oct 2021 12:02:02 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1649f307-aae3-43d7-c916-08d99553c2c2 X-MS-TrafficTypeDiagnostic: PH0PR11MB4918: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:270; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: e9wnXTPP64KNGXnYfKiVsj/T16H/PTs8dyqIm1SWcRpA6sEjxxRSGdM/3zMJDF6kxrsNgkbDdB5rXZAZjTrJxvlvUuoWiJL8JijWdydjKYFd1jhy7DquAlJeWFeoSK2IEDW3pOrCMZcxueMyg1YlGbg3o3FlcQe2EWnXbSGbRZH8fx4MF8jcWSI+vYqzDfvqe1x2uOrmPQBe1bK4KLhcF4pIE09B6OFbGS5/9THTL23lCtEh+AauNwDGIjJPJAFbqzjVb/RKTwhev+GgFy4k7FJqbGmyiJBP0y0sIMTcXv8uRQFOuTQRhfU2sAKjFgFl24MsYo1k9iVeBNb7QwmvUv6MVW/dfOps3i6Bth0/+mxcIMlB5m4IXxtoAJh2VSGtVXmAIc0UfGxw50KAZhyILcaDMrl3pyC8rLBNOy7oqDCFok+F6xXaI0OSFrLWqQzkjWhqrW2KlF6D60NwhwQGBzJpaNE83b2bX727+u8rmmGm1LWAthn3JNJs9A+QXHBtYPezKTlmKSI90ZbFLIlc79QPd1L5owC0Y7VKyUgrj6ddO0/e1SAsrs8qC8wEwCNPTD7RnEypKsvosp9960o+7qzCkwC9IHIrdmVsLM/FhbAM/w2Vftqp0YBbGsuAVOb0wmBA7Z/PEWaHGBlYGi3Io/CTCaFs8GlcYPyakSL2Ol27IdPQP8C3e5koK6GNaA0Lr/6QYKy9LiQbU+BZaD8eUsz5tyNDELk1icsMbi05Lxznq/Q26bnm8tDE8AZttlnp X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5047.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(8936002)(4326008)(956004)(8676002)(66946007)(36756003)(5660300002)(6666004)(82960400001)(110136005)(2616005)(83380400001)(38100700002)(6486002)(2906002)(26005)(31696002)(66556008)(44832011)(66476007)(31686004)(508600001)(16576012)(53546011)(86362001)(316002)(186003)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TmdXRjUxckRyd2tHNmdiazEvQWZOSm5JK1Z4b2JzS1pjMlZFdWF2Qk5waXpx?= =?utf-8?B?VXNmZm1jbGJBVDRuZ0crUFdEZ3V5dlVDZGgzbTFQL2ROOCswTFQ0cXRaa0dr?= =?utf-8?B?a3U4eHRWR29JaVE4Z0lZWlpFQTdHb0RlVXRPVTd3QTJwcDkrVEc5YUJnSnlO?= =?utf-8?B?S09PTzZVcHB5eUZNZkJ0R3hlRE5BZnR4MllMLzZDN1VVN09ZbFNIeGJvSGhB?= =?utf-8?B?ZGVqZlhua0QyT3ROMFVsYWNFRXI1dCtCekNnbWhYWENzWWxHcllBcDEvL0w5?= =?utf-8?B?Z1ljcCsrY2hOQjk0MVNHUGk4Y2xWZVBFNUl3dU04QTEyNytaRXpkZHhKR2xM?= =?utf-8?B?dmc5RTlsamdlTzZ5dG9CQjhsNFhGdEZIUlhIb0d5Ylk0UnhOc09velIrRnBv?= =?utf-8?B?QUtHckxHdTBmSEZoQjRxalBJODZ3U3JJUkgxV2gxclpqTnF5eTUrNkZnMmE5?= =?utf-8?B?V2krNVc4SEsyR3VQYzlIaTNndlFobElaR2FrY1NJRFprZnUyMk1kOEd1QjY4?= =?utf-8?B?aUxZMEZJZTV2RlM5RExRdGR1T01YYk9ETGtUNGxPV01ZOHNUUmwvK09QeFdY?= =?utf-8?B?dEZ4d085MDVuR0ZMQkZlcXdPTFpsSXMrWEZNZmd2QThERUZmODB6VnA5V2pV?= =?utf-8?B?Vm9MRUo3OWhDOUI3Qk96UzV6R2pTWjZ5WUw0MmxKK05UQ1pGVFRyZWZBTWRM?= =?utf-8?B?bVAwaDkrcmJNeGVXb3piL3pBQ1d3d0tNVi9VSEhUUWZZY0l2Mk5lOE8zL2ZF?= =?utf-8?B?ZE9qYlgvWVZmQzBkMTdSeXdoajA0cytybmEvc2ZqY2pqOS92MXcvaVBuQ1Mx?= =?utf-8?B?MkEvN3RHTFZuMUZBSFpCbWJYVTMzK1NqM2xvUWxyUG5kNThFSzd0LzN4Lzk4?= =?utf-8?B?c2xablpjWHEwZ09SZ0U2ZlZDeW90eXphb3BLUXBNUjRXY2Y4N3g5czBxSnRY?= =?utf-8?B?QThBS3Y3ZFBVSFNEbHdCNi9wWnI3UDF5cG5NMGdaYSttMHc3SDBNU2lwSTNG?= =?utf-8?B?R0t0RVEyQUZrZjZSaXQ0YTN1cGt6akhUR3lHd3VTZ3Zob3o5Sk5rWko3aEMw?= =?utf-8?B?Ymp2WGdralhuR3hpdzVaK1dZK1YzUzd5UStYZUphd09aM1hUdTByVlJsVDNY?= =?utf-8?B?Z0FCMUJMMTFtT1RmYnpsZm11TFRFQU42TUFveWVCbWhUUmpRRjIybWFDZGlo?= =?utf-8?B?U1NoMnN3S0Y3blZaNDNlcFlWL2hjQUNaV0s5ZXN2MXhGYnVBYUk0TzBZTFNE?= =?utf-8?B?U1ZXZk45cXVpYTE4SXdnTHVRUDZDbk04Zmdkc0pXN3pudTcwaXZmYzBCeC9N?= =?utf-8?B?Y3AxemNMNjltb2Rac2toendjMmlwdFE0VUNKdGVPZWhKM1M5NEE4Q3E5VXJl?= =?utf-8?B?UUs4VFdPSmQ3T2FUYzZUTXVRV1lCZ1NIQUpISDNkL3NzemRheVNsWTBmSHhU?= =?utf-8?B?SHQ3STZOZGVuVGVqOWxnMDRtUm8wU25jS0hHMFdYQkVKN0tLcUNIQ3BTOC9v?= =?utf-8?B?THg2M1RBQ0xhcHBpblJ2VWJqRi8wVG1sQjRSRWJJSFpFMWF4Z2kvM3RwM2JE?= =?utf-8?B?OVo5WmszUmdWWVZod0lJSEpUNVIyYmEzZ05NQmM3OVlERWoySGFqeFJxUkp5?= =?utf-8?B?N0IzWCsyOWYyT3JHYzA0ZVUyajVkOXhVWmhVbGNCOFc3clpQTmEyeUNEY3N4?= =?utf-8?B?ak40aGszeFBxWUVXYzlNTkRmK1UrV1dkQWtjZDFodGg1Ni9NZDZ2RGpTdXQr?= =?utf-8?B?TXM2bzJQSUdjeFEyL3c0bWJkcFpnb3Z2RTNVTDVkMzRqem9weTQ5UTN5eGhI?= =?utf-8?B?N0ZXYVd4blcxM3B2L2Q3cS9aKzdmdzZRTzRQc3E1QkQzcFFFU0UyUDlTUW1P?= =?utf-8?B?L3lNQlBYUFVUOVlLa29oWDdWOER6OGhvTUNEb1lIUTcxUHEwbW1Ob0tlL0F6?= =?utf-8?Q?EFGKYcDH+2M=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 1649f307-aae3-43d7-c916-08d99553c2c2 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5047.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2021 12:02:03.6903 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: david.hunt@intel.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4918 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v7 3/5] net/vhost: implement rte_power_monitor API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 19/10/2021 5:39 AM, Xia, Chenbo wrote: >> -----Original Message----- >> From: Li, Miao >> Sent: Monday, October 18, 2021 10:17 PM >> To: dev@dpdk.org >> Cc: Xia, Chenbo ; maxime.coquelin@redhat.com; Li, Miao >> >> Subject: [PATCH v7 3/5] net/vhost: implement rte_power_monitor API >> >> This patch implements rte_power_monitor API in vhost PMD to reduce >> power consumption when no packet come in. According to current semantics >> of power monitor, this commit adds a callback function to decide whether >> aborts the sleep by checking current value against the expected value and >> vhost_get_monitor_addr to provide address to monitor. When no packet come >> in, the value of address will not be changed and the running core will >> sleep. Once packets arrive, the value of address will be changed and the >> running core will wakeup. >> >> Signed-off-by: Miao Li >> --- >> doc/guides/rel_notes/release_21_11.rst | 4 +++ >> drivers/net/vhost/rte_eth_vhost.c | 40 ++++++++++++++++++++++++++ >> 2 files changed, 44 insertions(+) >> >> diff --git a/doc/guides/rel_notes/release_21_11.rst >> b/doc/guides/rel_notes/release_21_11.rst >> index a497674352..f3dc2cf219 100644 >> --- a/doc/guides/rel_notes/release_21_11.rst >> +++ b/doc/guides/rel_notes/release_21_11.rst >> @@ -84,6 +84,10 @@ New Features >> >> Added an API to support power monitor in vhost library. >> >> +* **Updated vhost PMD.** >> + >> + Implement rte_power_monitor API in vhost PMD. >> + >> * **Updated virtio PMD.** >> >> Implement rte_power_monitor API in virtio PMD. >> diff --git a/drivers/net/vhost/rte_eth_vhost.c >> b/drivers/net/vhost/rte_eth_vhost.c >> index 2e24e5f7ff..c9947e4db7 100644 >> --- a/drivers/net/vhost/rte_eth_vhost.c >> +++ b/drivers/net/vhost/rte_eth_vhost.c >> @@ -1386,6 +1386,45 @@ eth_rx_queue_count(struct rte_eth_dev *dev, uint16_t >> rx_queue_id) >> return rte_vhost_rx_queue_count(vq->vid, vq->virtqueue_id); >> } >> >> +#define CLB_VAL_IDX 0 >> +#define CLB_MSK_IDX 1 >> +#define CLB_MATCH_IDX 2 >> +static int >> +vhost_monitor_callback(const uint64_t value, >> + const uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ]) >> +{ >> + const uint64_t m = opaque[CLB_MSK_IDX]; >> + const uint64_t v = opaque[CLB_VAL_IDX]; >> + const uint64_t c = opaque[CLB_MATCH_IDX]; >> + >> + if (c) >> + return (value & m) == v ? -1 : 0; >> + else >> + return (value & m) == v ? 0 : -1; >> +} >> + >> +static int >> +vhost_get_monitor_addr(void *rx_queue, struct rte_power_monitor_cond *pmc) >> +{ >> + struct vhost_queue *vq = rx_queue; >> + struct rte_vhost_power_monitor_cond vhost_pmc; >> + int ret; >> + if (vq == NULL) >> + return -EINVAL; >> + ret = rte_vhost_get_monitor_addr(vq->vid, vq->virtqueue_id, >> + &vhost_pmc); >> + if (ret < 0) >> + return -EINVAL; >> + pmc->addr = vhost_pmc.addr; >> + pmc->opaque[CLB_VAL_IDX] = vhost_pmc.val; >> + pmc->opaque[CLB_MSK_IDX] = vhost_pmc.mask; >> + pmc->opaque[CLB_MATCH_IDX] = vhost_pmc.match; >> + pmc->size = vhost_pmc.size; >> + pmc->fn = vhost_monitor_callback; >> + >> + return 0; >> +} >> + >> static const struct eth_dev_ops ops = { >> .dev_start = eth_dev_start, >> .dev_stop = eth_dev_stop, >> @@ -1405,6 +1444,7 @@ static const struct eth_dev_ops ops = { >> .xstats_get_names = vhost_dev_xstats_get_names, >> .rx_queue_intr_enable = eth_rxq_intr_enable, >> .rx_queue_intr_disable = eth_rxq_intr_disable, >> + .get_monitor_addr = vhost_get_monitor_addr, >> }; >> >> static int >> -- >> 2.25.1 > Reviewed-by: Chenbo Xia Acked-by: David Hunt