List cover comments

GET /api/covers/41540/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<http://patches.dpdk.org/api/covers/41540/comments/?format=api&page=1>; rel="first",
<http://patches.dpdk.org/api/covers/41540/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 83720, "web_url": "http://patches.dpdk.org/comment/83720/", "msgid": "<2730584.abn78hPeQH@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/2730584.abn78hPeQH@xps", "date": "2018-07-12T19:09:16", "subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "26/06/2018 11:23, David Hunt:\n> This patch set adds the capability to do out-of-band power\n> monitoring on a system. It uses a thread to monitor the branch\n> counters in the targeted cores, and calculates the branch ratio\n> if the running code.\n> \n> If the branch ratop is low (0.01), then\n> the code is most likely running in a tight poll loop and doing\n> nothing, i.e. receiving no packets. In this case we scale down\n> the frequency of that core.\n> \n> If the branch ratio is higher (>0.01), then it is likely that\n> the code is receiving and processing packets. In this case, we\n> scale up the frequency of that core.\n> \n> The cpu counters are read via /dev/cpu/x/msr, so requires the\n> msr kernel module to be loaded. Because this method is used,\n> the patch set is implemented with one file for x86 systems, and\n> another for non-x86 systems, with conditional compilation in\n> the Makefile. The non-x86 functions are stubs, and do not\n> currently implement any functionality.\n> \n> The vm_power_manager app has been modified to take a new parameter\n> --core-list or -l\n> which takes a list of cores in a comma-separated list format,\n> e.g. 1,3,5-7,9, which resolvest to a core list of 1,3,5,6,7,9\n> These cores will then be enabled for oob monitoring. When the\n> OOB monitoring thread starts, it reads the branch hits/miss\n> counters of each monitored core, and scales up/down accordingly.\n\nIt looks to be a feature which could be integrated in DPDK libs.\nWhy choosing to implement it fully in an example?", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 02DC81B293;\n\tThu, 12 Jul 2018 21:09:22 +0200 (CEST)", "from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com\n\t[66.111.4.28]) by dpdk.org (Postfix) with ESMTP id B59E31B1FB\n\tfor <dev@dpdk.org>; Thu, 12 Jul 2018 21:09:19 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id 30CDD221E7;\n\tThu, 12 Jul 2018 15:09:19 -0400 (EDT)", "from mailfrontend1 ([10.202.2.162])\n\tby compute1.internal (MEProxy); Thu, 12 Jul 2018 15:09:19 -0400", "from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id D4B9EE410A;\n\tThu, 12 Jul 2018 15:09:17 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to:x-me-sender\n\t:x-me-sender:x-sasl-enc; s=mesmtp; bh=2eDvr9U9jf7e6xRvybuWXRqMwF\n\tZ02pHz4jZBAmmeBD0=; b=TydKPpLNwYLiIRkge2Et8PI5Bw6VQyNueFoLuYUqCD\n\t6NfBsoBsnuWaBqgVdqNUscSvKRZ1EH2hmQkHqJEDNcPvag24i4hDGJhNO63tJFrW\n\t4ya8keBHwdwsIu5cxVuevLh8VcUFrRxSFbgNGntKvoPRVl/ZkhgQAptis2yesIvJ\n\ts=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=2eDvr9\n\tU9jf7e6xRvybuWXRqMwFZ02pHz4jZBAmmeBD0=; b=jyPoVQuJsH1sXcpwRKXma/\n\tYhmY5mNhA5+Wgc8IlQBds314CGj7fXM3K9gMuUmCLzr4sw5IfW2PLTUgu4io7kGw\n\tQ6IFl9qSIGgb/JQq6n1z/0S78lIyBBE7aPBXjQSu880IAtoSrNMs18cMLlPp0J7P\n\tnt8cVOYMn/rAtNMiyBmnY1v9dHWwPf+YlT6o7MdIxzz2WAY9Jn66QAV7qr96aZ+4\n\tGHmD1eAhBTCr31A1ktEfITGoR1BCVqhpP3IHEMCMIXzAoIRU4azRwXyYy47gwlmS\n\tDiNcqf69X0FR+1euPLnc8Ml04GNczX4u01r2r+e+ay8K+Yy0nWry6KTBnat9myzA\n\t==" ], "X-ME-Proxy": "<xmx:XqdHW2k3T9UcGhh4pRdDiY0-pVtXlSTO-05wo7DIAJu6iZOEr8Y8Vg>\n\t<xmx:XqdHW-Djl1XFd_OeU07llxExgMgj6HoN360UYGmHHP915Mf1pvcfoA>\n\t<xmx:XqdHW2ePwWIkKgdtcvVwaThINHetWBDPp6ZzroAfOTG0ZnzRuVQGqQ>\n\t<xmx:XqdHW5IW-2FCly9JCkwB-MwQzpysngDIDBfhoe0enGYLAu3X1voTug>\n\t<xmx:XqdHW5ezX1awmBBbExRU-2yi3yeO2HMWptQgED_m48mlizcvDtrI0Q>\n\t<xmx:X6dHW0dGsrCDP18o8_XMeZr5kWw4YPRD_KVT-52kvmbj_VrY_3VV3g>", "X-ME-Sender": "<xms:XqdHW0QxZ1VIWrOrV6puWu_xQvS02ON8ZagQ_PuZDE40VdtO0qYQyg>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "David Hunt <david.hunt@intel.com>", "Cc": "dev@dpdk.org, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,\n\tarybchenko@solarflare.com, ferruh.yigit@intel.com,\n\tbruce.richardson@intel.com", "Date": "Thu, 12 Jul 2018 21:09:16 +0200", "Message-ID": "<2730584.abn78hPeQH@xps>", "In-Reply-To": "<20180626092317.11031-1-david.hunt@intel.com>", "References": "<20180621132414.39047-2-david.hunt@intel.com>\n\t<20180626092317.11031-1-david.hunt@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "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>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 83753, "web_url": "http://patches.dpdk.org/comment/83753/", "msgid": "<efdefc9e-1318-cce4-3db6-61faf58cec1c@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/efdefc9e-1318-cce4-3db6-61faf58cec1c@intel.com", "date": "2018-07-13T08:31:38", "subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "submitter": { "id": 342, "url": "http://patches.dpdk.org/api/people/342/?format=api", "name": "Hunt, David", "email": "david.hunt@intel.com" }, "content": "Hi Thomas,\n\nOn 12/7/2018 8:09 PM, Thomas Monjalon wrote:\n> 26/06/2018 11:23, David Hunt:\n>> This patch set adds the capability to do out-of-band power\n>> monitoring on a system. It uses a thread to monitor the branch\n>> counters in the targeted cores, and calculates the branch ratio\n>> if the running code.\n>>\n>> If the branch ratop is low (0.01), then\n>> the code is most likely running in a tight poll loop and doing\n>> nothing, i.e. receiving no packets. In this case we scale down\n>> the frequency of that core.\n>>\n>> If the branch ratio is higher (>0.01), then it is likely that\n>> the code is receiving and processing packets. In this case, we\n>> scale up the frequency of that core.\n>>\n>> The cpu counters are read via /dev/cpu/x/msr, so requires the\n>> msr kernel module to be loaded. Because this method is used,\n>> the patch set is implemented with one file for x86 systems, and\n>> another for non-x86 systems, with conditional compilation in\n>> the Makefile. The non-x86 functions are stubs, and do not\n>> currently implement any functionality.\n>>\n>> The vm_power_manager app has been modified to take a new parameter\n>> --core-list or -l\n>> which takes a list of cores in a comma-separated list format,\n>> e.g. 1,3,5-7,9, which resolvest to a core list of 1,3,5,6,7,9\n>> These cores will then be enabled for oob monitoring. When the\n>> OOB monitoring thread starts, it reads the branch hits/miss\n>> counters of each monitored core, and scales up/down accordingly.\n> It looks to be a feature which could be integrated in DPDK libs.\n> Why choosing to implement it fully in an example?\n\nI needed to set up a thread that looped tightly (~100uS interval) and \nrun it on it's\nown core. From what I have seen in other cases, it is usually the \napplication that\nallocates cores and decides what to run on them. I did think about putting\nsome of it in a library, but for this case I thought it made more sense \nto keep\nit purely as a sample app.\n\nRegards,\nDave.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 1C02D1B487;\n\tFri, 13 Jul 2018 10:29:51 +0200 (CEST)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 97B0D1B476\n\tfor <dev@dpdk.org>; Fri, 13 Jul 2018 10:29:49 +0200 (CEST)", "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Jul 2018 01:29:47 -0700", "from dhunt5-mobl2.ger.corp.intel.com (HELO [10.237.221.75])\n\t([10.237.221.75])\n\tby orsmga001.jf.intel.com with ESMTP; 13 Jul 2018 01:29:46 -0700" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.51,347,1526367600\"; d=\"scan'208\";a=\"72422380\"", "To": "Thomas Monjalon <thomas@monjalon.net>", "Cc": "dev@dpdk.org, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,\n\tarybchenko@solarflare.com, ferruh.yigit@intel.com,\n\tbruce.richardson@intel.com", "References": "<20180621132414.39047-2-david.hunt@intel.com>\n\t<20180626092317.11031-1-david.hunt@intel.com>\n\t<2730584.abn78hPeQH@xps>", "From": "\"Hunt, David\" <david.hunt@intel.com>", "Message-ID": "<efdefc9e-1318-cce4-3db6-61faf58cec1c@intel.com>", "Date": "Fri, 13 Jul 2018 09:31:38 +0100", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.9.1", "MIME-Version": "1.0", "In-Reply-To": "<2730584.abn78hPeQH@xps>", "Content-Type": "text/plain; charset=utf-8; format=flowed", "Content-Transfer-Encoding": "7bit", "Content-Language": "en-US", "Subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "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>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 83754, "web_url": "http://patches.dpdk.org/comment/83754/", "msgid": "<4106595.MIdGIlFmsH@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/4106595.MIdGIlFmsH@xps", "date": "2018-07-13T08:33:08", "subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "13/07/2018 10:31, Hunt, David:\n> Hi Thomas,\n> \n> On 12/7/2018 8:09 PM, Thomas Monjalon wrote:\n> > 26/06/2018 11:23, David Hunt:\n> >> This patch set adds the capability to do out-of-band power\n> >> monitoring on a system. It uses a thread to monitor the branch\n> >> counters in the targeted cores, and calculates the branch ratio\n> >> if the running code.\n> >>\n> >> If the branch ratop is low (0.01), then\n> >> the code is most likely running in a tight poll loop and doing\n> >> nothing, i.e. receiving no packets. In this case we scale down\n> >> the frequency of that core.\n> >>\n> >> If the branch ratio is higher (>0.01), then it is likely that\n> >> the code is receiving and processing packets. In this case, we\n> >> scale up the frequency of that core.\n> >>\n> >> The cpu counters are read via /dev/cpu/x/msr, so requires the\n> >> msr kernel module to be loaded. Because this method is used,\n> >> the patch set is implemented with one file for x86 systems, and\n> >> another for non-x86 systems, with conditional compilation in\n> >> the Makefile. The non-x86 functions are stubs, and do not\n> >> currently implement any functionality.\n> >>\n> >> The vm_power_manager app has been modified to take a new parameter\n> >> --core-list or -l\n> >> which takes a list of cores in a comma-separated list format,\n> >> e.g. 1,3,5-7,9, which resolvest to a core list of 1,3,5,6,7,9\n> >> These cores will then be enabled for oob monitoring. When the\n> >> OOB monitoring thread starts, it reads the branch hits/miss\n> >> counters of each monitored core, and scales up/down accordingly.\n> > It looks to be a feature which could be integrated in DPDK libs.\n> > Why choosing to implement it fully in an example?\n> \n> I needed to set up a thread that looped tightly (~100uS interval) and \n> run it on it's\n> own core. From what I have seen in other cases, it is usually the \n> application that\n> allocates cores and decides what to run on them. I did think about putting\n> some of it in a library, but for this case I thought it made more sense \n> to keep\n> it purely as a sample app.\n\nI feel some code deserves to be in a library.\nFor instance, having different implementations per CPU is a good reason\nto make a library.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 431621B48B;\n\tFri, 13 Jul 2018 10:33:13 +0200 (CEST)", "from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com\n\t[66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 50C6C1B487\n\tfor <dev@dpdk.org>; Fri, 13 Jul 2018 10:33:11 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id D5C362212F;\n\tFri, 13 Jul 2018 04:33:10 -0400 (EDT)", "from mailfrontend1 ([10.202.2.162])\n\tby compute1.internal (MEProxy); Fri, 13 Jul 2018 04:33:10 -0400", "from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 9DBFCE414A;\n\tFri, 13 Jul 2018 04:33:09 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to:x-me-sender\n\t:x-me-sender:x-sasl-enc; s=mesmtp; bh=1jv17x9TsmNSN6kySeExlG2oEV\n\tWZ7J4EmhXzATOsTeU=; b=VhIqlrtez4ThVVPcPo0T+5ZpOE/6exwl9LLTwjATkh\n\toKvhSWHtnf/0hO1AaH+lD3/iR93mhxXUIynQE4iNrvFpdVsciPihy9t8Ga5KRmh8\n\tZ0ap76MiMLwVPF1BNYddVgj4KQDeu50HmP2Dlgfp5ZZd07dzzOGuZSopzHY92Q1b\n\ts=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=1jv17x\n\t9TsmNSN6kySeExlG2oEVWZ7J4EmhXzATOsTeU=; b=v07lczBhV4x/OnM3M8onmV\n\thLSgHHR58HV+doB1vJDbcnYNPQ7vRkLTDMH/ZT+nw39IaqSVwYlS+SiLWTRnxBDG\n\tSCNlgwsKWys+cSgtA2jT7n6VCILDdb84R9yTcQqjjZSfs61TQEXXzXAjJqP9zYci\n\tw7Rot5leB7freaPKzaJrb7kISZ7Kq55IKm0xVAXVpVT67hE0BVXN9quAOkSRk4F4\n\t+qbrdr3Q6V0d58nGCFdwvV2coZhtC1FoiWSVQgkSw2XUwB1VuQ+XQ6RKBN/VYH/f\n\twb0Y1A/yjHs1Ptao9+Lpe7drLgRfyLVGUwnWgZFnDIhteGnjSypZu+EHTpRZTmSA\n\t==" ], "X-ME-Proxy": "<xmx:xmNIW7K8e79s0TTEpYb_uPPW5XpTaCfQaOZfvfEML0gk3JW790M0Pw>\n\t<xmx:xmNIW_5HF4Y7unLxDghinJVNbstrfQ2ZY0En3lb0qMEgXS3eSyzGbA>\n\t<xmx:xmNIWzXsMPct00-Bnrv4mvuSYS4fhP8V6LkX3lgrTH3rQ2AXfSSo1w>\n\t<xmx:xmNIW9m3VOp1WTduqyW2mrvYwkw9_eeJTlTbmLalr0AF6Unw5r0K7w>\n\t<xmx:xmNIWzvyhT_5AaBPxGey6cON1084yvO4sJrncNXL2HihZqZ80s72uA>\n\t<xmx:xmNIWxPSv3Gu-oJn3AShSsfHB_Gr8N-CaXC_4Hw49C7QrsbfBpcdfg>", "X-ME-Sender": "<xms:xmNIW-rU6C4bIzV_YzGAZAcXA1lZ-lztGEKhj0mlLONQhRbgjo9eNQ>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "\"Hunt, David\" <david.hunt@intel.com>", "Cc": "dev@dpdk.org, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,\n\tarybchenko@solarflare.com, ferruh.yigit@intel.com,\n\tbruce.richardson@intel.com", "Date": "Fri, 13 Jul 2018 10:33:08 +0200", "Message-ID": "<4106595.MIdGIlFmsH@xps>", "In-Reply-To": "<efdefc9e-1318-cce4-3db6-61faf58cec1c@intel.com>", "References": "<20180621132414.39047-2-david.hunt@intel.com>\n\t<2730584.abn78hPeQH@xps>\n\t<efdefc9e-1318-cce4-3db6-61faf58cec1c@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "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>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 83755, "web_url": "http://patches.dpdk.org/comment/83755/", "msgid": "<bad9d95b-52b6-ebc2-4ac0-498d299910ef@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/bad9d95b-52b6-ebc2-4ac0-498d299910ef@intel.com", "date": "2018-07-13T08:43:31", "subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "submitter": { "id": 342, "url": "http://patches.dpdk.org/api/people/342/?format=api", "name": "Hunt, David", "email": "david.hunt@intel.com" }, "content": "On 13/7/2018 9:33 AM, Thomas Monjalon wrote:\n> 13/07/2018 10:31, Hunt, David:\n>> Hi Thomas,\n>>\n>> On 12/7/2018 8:09 PM, Thomas Monjalon wrote:\n>>> 26/06/2018 11:23, David Hunt:\n>>>> This patch set adds the capability to do out-of-band power\n>>>> monitoring on a system. It uses a thread to monitor the branch\n>>>> counters in the targeted cores, and calculates the branch ratio\n>>>> if the running code.\n>>>>\n>>>> If the branch ratop is low (0.01), then\n>>>> the code is most likely running in a tight poll loop and doing\n>>>> nothing, i.e. receiving no packets. In this case we scale down\n>>>> the frequency of that core.\n>>>>\n>>>> If the branch ratio is higher (>0.01), then it is likely that\n>>>> the code is receiving and processing packets. In this case, we\n>>>> scale up the frequency of that core.\n>>>>\n>>>> The cpu counters are read via /dev/cpu/x/msr, so requires the\n>>>> msr kernel module to be loaded. Because this method is used,\n>>>> the patch set is implemented with one file for x86 systems, and\n>>>> another for non-x86 systems, with conditional compilation in\n>>>> the Makefile. The non-x86 functions are stubs, and do not\n>>>> currently implement any functionality.\n>>>>\n>>>> The vm_power_manager app has been modified to take a new parameter\n>>>> --core-list or -l\n>>>> which takes a list of cores in a comma-separated list format,\n>>>> e.g. 1,3,5-7,9, which resolvest to a core list of 1,3,5,6,7,9\n>>>> These cores will then be enabled for oob monitoring. When the\n>>>> OOB monitoring thread starts, it reads the branch hits/miss\n>>>> counters of each monitored core, and scales up/down accordingly.\n>>> It looks to be a feature which could be integrated in DPDK libs.\n>>> Why choosing to implement it fully in an example?\n>> I needed to set up a thread that looped tightly (~100uS interval) and\n>> run it on it's\n>> own core. From what I have seen in other cases, it is usually the\n>> application that\n>> allocates cores and decides what to run on them. I did think about putting\n>> some of it in a library, but for this case I thought it made more sense\n>> to keep\n>> it purely as a sample app.\n> I feel some code deserves to be in a library.\n> For instance, having different implementations per CPU is a good reason\n> to make a library.\n>\n\nSure, I can look at moving some of the code into the library in a future \nrelease. However, I\nbelieve it's OK as it is for the current merge window.\n\nRegards,\nDave.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 495E71B4F5;\n\tFri, 13 Jul 2018 10:41:50 +0200 (CEST)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 908891B4E9\n\tfor <dev@dpdk.org>; Fri, 13 Jul 2018 10:41:47 +0200 (CEST)", "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Jul 2018 01:41:46 -0700", "from dhunt5-mobl2.ger.corp.intel.com (HELO [10.237.221.75])\n\t([10.237.221.75])\n\tby orsmga001.jf.intel.com with ESMTP; 13 Jul 2018 01:41:39 -0700" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.51,347,1526367600\"; d=\"scan'208\";a=\"72424358\"", "To": "Thomas Monjalon <thomas@monjalon.net>", "Cc": "dev@dpdk.org, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,\n\tarybchenko@solarflare.com, ferruh.yigit@intel.com,\n\tbruce.richardson@intel.com", "References": "<20180621132414.39047-2-david.hunt@intel.com>\n\t<2730584.abn78hPeQH@xps>\n\t<efdefc9e-1318-cce4-3db6-61faf58cec1c@intel.com>\n\t<4106595.MIdGIlFmsH@xps>", "From": "\"Hunt, David\" <david.hunt@intel.com>", "Message-ID": "<bad9d95b-52b6-ebc2-4ac0-498d299910ef@intel.com>", "Date": "Fri, 13 Jul 2018 09:43:31 +0100", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.9.1", "MIME-Version": "1.0", "In-Reply-To": "<4106595.MIdGIlFmsH@xps>", "Content-Type": "text/plain; charset=utf-8; format=flowed", "Content-Transfer-Encoding": "7bit", "Content-Language": "en-US", "Subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "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>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 83934, "web_url": "http://patches.dpdk.org/comment/83934/", "msgid": "<2801427.dF8lWImUGl@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/2801427.dF8lWImUGl@xps", "date": "2018-07-18T15:23:04", "subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "13/07/2018 10:43, Hunt, David:\n> \n> On 13/7/2018 9:33 AM, Thomas Monjalon wrote:\n> > 13/07/2018 10:31, Hunt, David:\n> >> Hi Thomas,\n> >>\n> >> On 12/7/2018 8:09 PM, Thomas Monjalon wrote:\n> >>> 26/06/2018 11:23, David Hunt:\n> >>>> This patch set adds the capability to do out-of-band power\n> >>>> monitoring on a system. It uses a thread to monitor the branch\n> >>>> counters in the targeted cores, and calculates the branch ratio\n> >>>> if the running code.\n> >>>>\n> >>>> If the branch ratop is low (0.01), then\n> >>>> the code is most likely running in a tight poll loop and doing\n> >>>> nothing, i.e. receiving no packets. In this case we scale down\n> >>>> the frequency of that core.\n> >>>>\n> >>>> If the branch ratio is higher (>0.01), then it is likely that\n> >>>> the code is receiving and processing packets. In this case, we\n> >>>> scale up the frequency of that core.\n> >>>>\n> >>>> The cpu counters are read via /dev/cpu/x/msr, so requires the\n> >>>> msr kernel module to be loaded. Because this method is used,\n> >>>> the patch set is implemented with one file for x86 systems, and\n> >>>> another for non-x86 systems, with conditional compilation in\n> >>>> the Makefile. The non-x86 functions are stubs, and do not\n> >>>> currently implement any functionality.\n> >>>>\n> >>>> The vm_power_manager app has been modified to take a new parameter\n> >>>> --core-list or -l\n> >>>> which takes a list of cores in a comma-separated list format,\n> >>>> e.g. 1,3,5-7,9, which resolvest to a core list of 1,3,5,6,7,9\n> >>>> These cores will then be enabled for oob monitoring. When the\n> >>>> OOB monitoring thread starts, it reads the branch hits/miss\n> >>>> counters of each monitored core, and scales up/down accordingly.\n> >>> It looks to be a feature which could be integrated in DPDK libs.\n> >>> Why choosing to implement it fully in an example?\n> >> I needed to set up a thread that looped tightly (~100uS interval) and\n> >> run it on it's\n> >> own core. From what I have seen in other cases, it is usually the\n> >> application that\n> >> allocates cores and decides what to run on them. I did think about putting\n> >> some of it in a library, but for this case I thought it made more sense\n> >> to keep\n> >> it purely as a sample app.\n> > I feel some code deserves to be in a library.\n> > For instance, having different implementations per CPU is a good reason\n> > to make a library.\n> >\n> \n> Sure, I can look at moving some of the code into the library in a future \n> release. However, I\n> believe it's OK as it is for the current merge window.\n\nI will to pull it in 18.08-rc2 if compilation is fine.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C33CE10A3;\n\tWed, 18 Jul 2018 17:23:17 +0200 (CEST)", "from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com\n\t[66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 70DC523C\n\tfor <dev@dpdk.org>; Wed, 18 Jul 2018 17:23:16 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id C944421221;\n\tWed, 18 Jul 2018 11:23:15 -0400 (EDT)", "from mailfrontend2 ([10.202.2.163])\n\tby compute1.internal (MEProxy); Wed, 18 Jul 2018 11:23:15 -0400", "from xps.localnet (unknown [37.173.231.123])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id D95CA10268;\n\tWed, 18 Jul 2018 11:23:11 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to:x-me-sender\n\t:x-me-sender:x-sasl-enc; s=mesmtp; bh=CL73f0Rw57lfMimAa1NbYTXk28\n\tkn62EWZ8h3Sc2Wmlg=; b=nREwTyBhtbmmCE3yCUzis0P57OfrhSsCfPJWB4kOED\n\tjw9rHRtW3v17d2BDBjIb9pf8qwreUfw1/JdSUVucjI92c/W155bxFDH7iQYe6CUO\n\tV7j74NjZ4SPJZyYYkviCAHekUlnRlZlVthROShlmMZle+3vWaKRz8vngbJO0E3eQ\n\tE=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=CL73f0\n\tRw57lfMimAa1NbYTXk28kn62EWZ8h3Sc2Wmlg=; b=naCN+lw3zD3tg9AB5Sw6MC\n\tupjBp8FA8an/rJYmVYBpV4t6swkb6aj0qLM7HJPj1Z/YV7D4nHd9XyQiPnvMuuxa\n\tBun9uJh6KNc/QDlGvmiloIBdy7yEB+Ex6FN3s+svLTErEwoPIJ2Ue4UHOFew9pMM\n\th2L41Bku1HoXFXnha9csOCdHb7tWKYJlQneblx94AeAAgJL+lrhtCCrSMvtB5AMV\n\tHk/uLFvnKay2o62tsBGzcP8Xq9J3rta2RZcWmqEFLDWr5RZhETw1pG4PvUGfoE2R\n\tHt+2OvA8hMDHW84HUCfBrJnqlPRyit66gP5P4h+ECfLr4HOx7SEl0DseBcOiO8ug\n\t==" ], "X-ME-Proxy": "<xmx:Y1tPW18s2HN0GUTI0LzjwAFeU2l2Fsiinn1NJvVy09PKW65O4OoRMQ>\n\t<xmx:Y1tPW8L4xAiO1nVLj1yk1BIAr3P_RbxIzeyFmX5BCbVPQ_PN90G_zQ>\n\t<xmx:Y1tPWzP82GHo76esBiXsQl3orjMjIxNf3LL9hPTS1nqs6NciNU3m7g>\n\t<xmx:Y1tPWw_lM-RQNvbQHuDdQhTtfNOxEyd876Yx9E6e7hjXEGXzXs4lFg>\n\t<xmx:Y1tPW8LdPIaoyT3_QFs3duykF02qIrSCzmRtlXLO3IV8qwDqNbJqog>\n\t<xmx:Y1tPW9Dt8H98QI2f6agW-KzBl8nDj872SO35ZBYguBsNgc_Mg_Yyfg>", "X-ME-Sender": "<xms:Y1tPW6-jL6LHKzZOD_puSpI1cNpkSAx30b_38KjONN1uQp11uSuD0A>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "\"Hunt, David\" <david.hunt@intel.com>", "Cc": "dev@dpdk.org, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,\n\tarybchenko@solarflare.com, ferruh.yigit@intel.com,\n\tbruce.richardson@intel.com", "Date": "Wed, 18 Jul 2018 17:23:04 +0200", "Message-ID": "<2801427.dF8lWImUGl@xps>", "In-Reply-To": "<bad9d95b-52b6-ebc2-4ac0-498d299910ef@intel.com>", "References": "<20180621132414.39047-2-david.hunt@intel.com>\n\t<4106595.MIdGIlFmsH@xps>\n\t<bad9d95b-52b6-ebc2-4ac0-498d299910ef@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [0/9] examples/vm_power: 100% Busy Polling", "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>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null } ]