List comments

GET /api/patches/443/comments/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

[
    {
        "id": 912,
        "web_url": "https://patches.dpdk.org/comment/912/",
        "msgid": "<20140922191753.GH25406@hmsreliant.think-freely.org>",
        "date": "2014-09-22T19:17:53",
        "subject": "Re: [dpdk-dev] [PATCH 06/10] Alternate implementation of\n\tlibrte_power for VM Power Management(Guest).",
        "submitter": {
            "id": 32,
            "url": "https://patches.dpdk.org/api/people/32/",
            "name": "Neil Horman",
            "email": "nhorman@tuxdriver.com"
        },
        "content": "On Mon, Sep 22, 2014 at 07:34:35PM +0100, Alan Carew wrote:\n> Re-using the host based librte_power API the alternate implementation uses\n> the guest channel API to forward request for frequency changes to the host\n> monitor.\n> A subset of the librte_power API is supported:\n>  rte_power_init(unsigned lcore_id)\n>  rte_power_exit(unsigned lcore_id)\n>  rte_power_freq_up(unsigned lcore_id)\n>  rte_power_freq_down(unsigned lcore_id)\n>  rte_power_freq_min(unsigned lcore_id)\n>  rte_power_freq_max(unsigned lcore_id)\n> \n> The other unsupported APIs from librte_power return -ENOTSUP.\n> \n> Signed-off-by: Alan Carew <alan.carew@intel.com>\n> ---\n>  lib/librte_power_vm/Makefile    |  49 ++++++++++++++\n>  lib/librte_power_vm/rte_power.c | 146 ++++++++++++++++++++++++++++++++++++++++\n>  2 files changed, 195 insertions(+)\n>  create mode 100644 lib/librte_power_vm/Makefile\n>  create mode 100644 lib/librte_power_vm/rte_power.c\n> \nNAK.\nThis is a bad design choice.  Creating an alternate library with all the same\nsymbols in place prevents an application from compiling in support for both host\nand guest power management in parallel (i.e. if an app wants to be able to do\npower management in either environment, and only gets built once, it won't\nwork).\n\nIn fact, linking a statically built library with both CONFIG_RTE_LIBRTE_POWER=y\nand CONFIG_RTE_LIBRTE_POWER_VM=y yields the following link-time build break:\n\nLD test\n/home/nhorman/git/dpdk/build/lib/librte_power.a(guest_channel.o): In function\n`guest_channel_host_connect':\nguest_channel.c:(.text+0x0): multiple definition of `guest_channel_host_connect'\n/home/nhorman/git/dpdk/build/lib/librte_power.a(guest_channel.o):guest_channel.c:(.text+0x0):\nfirst defined here\n/home/nhorman/git/dpdk/build/lib/librte_power.a(guest_channel.o): In function\n`guest_channel_send_msg':\nguest_channel.c:(.text+0x370): multiple definition of `guest_channel_send_msg'\n....\nAd nauseum.\n\nWhat you should do is merge this functionality in with the existing librte power\nlibrary, and make the choice of implementation a run time decision, so theres\nonly a single public facing API symbol set, and both implementations can\ncoexist, getting chosen at run time (via initialization config option,\nenvironment detection, etc).  Konstantin and I had a simmilar discussion\nregarding the ACL library and the use of the match function.  I think we came up\nwith some reasonably performant solutions.\n\nNeil",
        "headers": {
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "List-Post": "<mailto:dev@dpdk.org>",
            "X-Mailman-Version": "2.1.15",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "Cc": "dev@dpdk.org",
            "Delivered-To": "patchwork@dpdk.org",
            "To": "Alan Carew <alan.carew@intel.com>",
            "User-Agent": "Mutt/1.5.23 (2014-03-12)",
            "MIME-Version": "1.0",
            "Subject": "Re: [dpdk-dev] [PATCH 06/10] Alternate implementation of\n\tlibrte_power for VM Power Management(Guest).",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Content-Disposition": "inline",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "From": "Neil Horman <nhorman@tuxdriver.com>",
            "Date": "Mon, 22 Sep 2014 15:17:53 -0400",
            "Message-ID": "<20140922191753.GH25406@hmsreliant.think-freely.org>",
            "Precedence": "list",
            "References": "<1411410879-28872-1-git-send-email-alan.carew@intel.com>\n\t<1411410879-28872-7-git-send-email-alan.carew@intel.com>",
            "In-Reply-To": "<1411410879-28872-7-git-send-email-alan.carew@intel.com>",
            "Content-Type": "text/plain; charset=us-ascii",
            "X-Spam-Status": "No",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "X-BeenThere": "dev@dpdk.org",
            "X-Spam-Score": "-2.9 (--)",
            "Return-Path": "<dev-bounces@dpdk.org>",
            "X-Original-To": "patchwork@dpdk.org",
            "Errors-To": "dev-bounces@dpdk.org",
            "Received": [
                "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 5E877231C;\n\tMon, 22 Sep 2014 21:11:59 +0200 (CEST)",
                "from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58])\n\tby dpdk.org (Postfix) with ESMTP id 7E249333\n\tfor <dev@dpdk.org>; Mon, 22 Sep 2014 21:11:57 +0200 (CEST)",
                "from [2001:470:8:a08:18c5:c64e:4bf:67a] (helo=localhost)\n\tby smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63)\n\t(envelope-from <nhorman@tuxdriver.com>)\n\tid 1XW97S-0006PD-Uu; Mon, 22 Sep 2014 15:18:00 -0400"
            ],
            "Sender": "\"dev\" <dev-bounces@dpdk.org>"
        }
    },
    {
        "id": 918,
        "web_url": "https://patches.dpdk.org/comment/918/",
        "msgid": "<0E29434AEE0C3A4180987AB476A6F6306D2775F2@IRSMSX109.ger.corp.intel.com>",
        "date": "2014-09-23T07:48:31",
        "subject": "Re: [dpdk-dev] [PATCH 06/10] Alternate implementation of\n\tlibrte_power for VM Power Management(Guest).",
        "submitter": {
            "id": 72,
            "url": "https://patches.dpdk.org/api/people/72/",
            "name": "Alan Carew",
            "email": "alan.carew@intel.com"
        },
        "content": "Hi Neil,\n\n\n> -----Original Message-----\n> From: Neil Horman [mailto:nhorman@tuxdriver.com]\n> Sent: Monday, September 22, 2014 8:18 PM\n> To: Carew, Alan\n> Cc: dev@dpdk.org\n> Subject: Re: [dpdk-dev] [PATCH 06/10] Alternate implementation of\n> librte_power for VM Power Management(Guest).\n> \n> On Mon, Sep 22, 2014 at 07:34:35PM +0100, Alan Carew wrote:\n> > Re-using the host based librte_power API the alternate implementation uses\n> > the guest channel API to forward request for frequency changes to the host\n> > monitor.\n> > A subset of the librte_power API is supported:\n> >  rte_power_init(unsigned lcore_id)\n> >  rte_power_exit(unsigned lcore_id)\n> >  rte_power_freq_up(unsigned lcore_id)\n> >  rte_power_freq_down(unsigned lcore_id)\n> >  rte_power_freq_min(unsigned lcore_id)\n> >  rte_power_freq_max(unsigned lcore_id)\n> >\n> > The other unsupported APIs from librte_power return -ENOTSUP.\n> >\n> > Signed-off-by: Alan Carew <alan.carew@intel.com>\n> > ---\n> >  lib/librte_power_vm/Makefile    |  49 ++++++++++++++\n> >  lib/librte_power_vm/rte_power.c | 146\n> ++++++++++++++++++++++++++++++++++++++++\n> >  2 files changed, 195 insertions(+)\n> >  create mode 100644 lib/librte_power_vm/Makefile\n> >  create mode 100644 lib/librte_power_vm/rte_power.c\n> >\n> NAK.\n> This is a bad design choice.  Creating an alternate library with all the same\n> symbols in place prevents an application from compiling in support for both host\n> and guest power management in parallel (i.e. if an app wants to be able to do\n> power management in either environment, and only gets built once, it won't\n> work).\n> \n> In fact, linking a statically built library with both CONFIG_RTE_LIBRTE_POWER=y\n> and CONFIG_RTE_LIBRTE_POWER_VM=y yields the following link-time build\n> break:\n> \n> LD test\n> /home/nhorman/git/dpdk/build/lib/librte_power.a(guest_channel.o): In\n> function\n> `guest_channel_host_connect':\n> guest_channel.c:(.text+0x0): multiple definition of\n> `guest_channel_host_connect'\n> /home/nhorman/git/dpdk/build/lib/librte_power.a(guest_channel.o):guest_cha\n> nnel.c:(.text+0x0):\n> first defined here\n> /home/nhorman/git/dpdk/build/lib/librte_power.a(guest_channel.o): In\n> function\n> `guest_channel_send_msg':\n> guest_channel.c:(.text+0x370): multiple definition of `guest_channel_send_msg'\n> ....\n> Ad nauseum.\n> \n> What you should do is merge this functionality in with the existing librte power\n> library, and make the choice of implementation a run time decision, so theres\n> only a single public facing API symbol set, and both implementations can\n> coexist, getting chosen at run time (via initialization config option,\n> environment detection, etc).  Konstantin and I had a simmilar discussion\n> regarding the ACL library and the use of the match function.  I think we came up\n> with some reasonably performant solutions.\n> \n> Neil\n\nMakes sense, I'll take a look at runtime configuration options and post a V2.\n\nThanks,\nAlan",
        "headers": {
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "List-Post": "<mailto:dev@dpdk.org>",
            "Accept-Language": "en-IE, en-US",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "Thread-Index": "AQHP1pn/yZIfrIAhEUyWq4UvGHtnuZwOVEFw",
            "X-MS-TNEF-Correlator": "",
            "Delivered-To": "patchwork@dpdk.org",
            "X-ExtLoop1": "1",
            "To": "Neil Horman <nhorman@tuxdriver.com>",
            "Content-Transfer-Encoding": "quoted-printable",
            "MIME-Version": "1.0",
            "Thread-Topic": "[dpdk-dev] [PATCH 06/10] Alternate implementation of\n\tlibrte_power for VM Power Management(Guest).",
            "Received": [
                "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id D93645920;\n\tTue, 23 Sep 2014 09:43:42 +0200 (CEST)",
                "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby dpdk.org (Postfix) with ESMTP id 6AEFF333\n\tfor <dev@dpdk.org>; Tue, 23 Sep 2014 09:43:41 +0200 (CEST)",
                "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby fmsmga102.fm.intel.com with ESMTP; 23 Sep 2014 00:49:47 -0700",
                "from irsmsx103.ger.corp.intel.com ([163.33.3.157])\n\tby fmsmga002.fm.intel.com with ESMTP; 23 Sep 2014 00:49:46 -0700",
                "from irsmsx105.ger.corp.intel.com (163.33.3.28) by\n\tIRSMSX103.ger.corp.intel.com (163.33.3.157) with Microsoft SMTP\n\tServer (TLS) id 14.3.195.1; Tue, 23 Sep 2014 08:48:31 +0100",
                "from irsmsx109.ger.corp.intel.com ([169.254.13.200]) by\n\tIRSMSX105.ger.corp.intel.com ([169.254.7.158]) with mapi id\n\t14.03.0195.001; Tue, 23 Sep 2014 08:48:31 +0100"
            ],
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Content-Language": "en-US",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "From": "\"Carew, Alan\" <alan.carew@intel.com>",
            "Date": "Tue, 23 Sep 2014 07:48:31 +0000",
            "Message-ID": "<0E29434AEE0C3A4180987AB476A6F6306D2775F2@IRSMSX109.ger.corp.intel.com>",
            "X-IronPort-AV": "E=Sophos;i=\"5.04,578,1406617200\"; d=\"scan'208\";a=\"603877817\"",
            "Precedence": "list",
            "References": "<1411410879-28872-1-git-send-email-alan.carew@intel.com>\n\t<1411410879-28872-7-git-send-email-alan.carew@intel.com>\n\t<20140922191753.GH25406@hmsreliant.think-freely.org>",
            "In-Reply-To": "<20140922191753.GH25406@hmsreliant.think-freely.org>",
            "X-BeenThere": "dev@dpdk.org",
            "X-Mailman-Version": "2.1.15",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "Content-Type": "text/plain; charset=\"us-ascii\"",
            "X-MS-Has-Attach": "",
            "X-Original-To": "patchwork@dpdk.org",
            "Errors-To": "dev-bounces@dpdk.org",
            "x-originating-ip": "[163.33.239.180]",
            "Return-Path": "<dev-bounces@dpdk.org>",
            "Sender": "\"dev\" <dev-bounces@dpdk.org>",
            "Cc": "\"dev@dpdk.org\" <dev@dpdk.org>",
            "Subject": "Re: [dpdk-dev] [PATCH 06/10] Alternate implementation of\n\tlibrte_power for VM Power Management(Guest)."
        }
    }
]