List patch comments

GET /api/patches/73346/comments/?format=api&order=date
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<https://patches.dpdk.org/api/patches/73346/comments/?format=api&order=date&page=1>; rel="first",
<https://patches.dpdk.org/api/patches/73346/comments/?format=api&order=date&page=1>; rel="last"
Vary: Accept
[ { "id": 155213, "web_url": "https://patches.dpdk.org/comment/155213/", "msgid": "<98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>", "list_archive_url": "https://inbox.dpdk.org/dev/98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk", "date": "2022-12-15T09:05:12", "subject": "RE: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "submitter": { "id": 591, "url": "https://patches.dpdk.org/api/people/591/?format=api", "name": "Morten Brørup", "email": "mb@smartsharesystems.com" }, "content": "> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Marchand\n> Sent: Monday, 6 July 2020 22.53\n> \n> DPDK components and applications can have their say when a new lcore is\n> initialized. For this, they can register a callback for initializing\n> and\n> releasing their private data.\n> \n> Signed-off-by: David Marchand <david.marchand@redhat.com>\n> ---\n\nDavid,\n\nShouldn't these callbacks be called from the EAL threads too, e.g. from eal_thread_loop()?\n\nI looks like they are only called from eal_lcore_non_eal_allocate(), which is only called from rte_thread_register().\n\n-Morten", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A05ECA0543;\n\tThu, 15 Dec 2022 10:05:15 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4914E40684;\n\tThu, 15 Dec 2022 10:05:15 +0100 (CET)", "from smartserver.smartsharesystems.com\n (smartserver.smartsharesystems.com [77.243.40.215])\n by mails.dpdk.org (Postfix) with ESMTP id D73C840223\n for <dev@dpdk.org>; Thu, 15 Dec 2022 10:05:14 +0100 (CET)" ], "Content-class": "urn:content-classes:message", "MIME-Version": "1.0", "Content-Type": "text/plain;\n\tcharset=\"iso-8859-1\"", "Content-Transfer-Encoding": "quoted-printable", "Subject": "RE: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "Date": "Thu, 15 Dec 2022 10:05:12 +0100", "X-MimeOLE": "Produced By Microsoft Exchange V6.5", "Message-ID": "<98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>", "In-Reply-To": "<20200706205234.8040-8-david.marchand@redhat.com>", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "Thread-Topic": "[dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "Thread-Index": "AdZT15j+ZqMle+fCTQyA5W7n8lOjF4V5FS8Q", "References": "<20200610144506.30505-1-david.marchand@redhat.com>\n <20200706205234.8040-1-david.marchand@redhat.com>\n <20200706205234.8040-8-david.marchand@redhat.com>", "From": "=?iso-8859-1?q?Morten_Br=F8rup?= <mb@smartsharesystems.com>", "To": "\"David Marchand\" <david.marchand@redhat.com>,\n\t<dev@dpdk.org>", "Cc": "<jerinj@marvell.com>, <bruce.richardson@intel.com>, <mdr@ashroe.eu>,\n <thomas@monjalon.net>, <andrew.rybchenko@oktetlabs.ru>,\n <ktraynor@redhat.com>, <ian.stokes@intel.com>, <i.maximets@ovn.org>,\n <olivier.matz@6wind.com>, <konstantin.ananyev@intel.com>,\n \"Neil Horman\" <nhorman@tuxdriver.com>", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "addressed": null }, { "id": 155214, "web_url": "https://patches.dpdk.org/comment/155214/", "msgid": "<CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com", "date": "2022-12-15T09:09:05", "subject": "Re: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "submitter": { "id": 1173, "url": "https://patches.dpdk.org/api/people/1173/?format=api", "name": "David Marchand", "email": "david.marchand@redhat.com" }, "content": "On Thu, Dec 15, 2022 at 10:05 AM Morten Brørup <mb@smartsharesystems.com> wrote:\n>\n> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Marchand\n> > Sent: Monday, 6 July 2020 22.53\n> >\n> > DPDK components and applications can have their say when a new lcore is\n> > initialized. For this, they can register a callback for initializing\n> > and\n> > releasing their private data.\n> >\n> > Signed-off-by: David Marchand <david.marchand@redhat.com>\n> > ---\n>\n> David,\n>\n> Shouldn't these callbacks be called from the EAL threads too, e.g. from eal_thread_loop()?\n>\n> I looks like they are only called from eal_lcore_non_eal_allocate(), which is only called from rte_thread_register().\n\nThese should be called for already present lcores on callback registration.\nSee rte_lcore_callback_register().", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 0FD96A0543;\n\tThu, 15 Dec 2022 10:09:21 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A887840684;\n\tThu, 15 Dec 2022 10:09:20 +0100 (CET)", "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id 84A4040223\n for <dev@dpdk.org>; Thu, 15 Dec 2022 10:09:19 +0100 (CET)", "from mail-pl1-f200.google.com (mail-pl1-f200.google.com\n [209.85.214.200]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id\n us-mta-46-HyX901L1MpOS2aa6T28hTA-1; Thu, 15 Dec 2022 04:09:17 -0500", "by mail-pl1-f200.google.com with SMTP id\n o5-20020a170903210500b0018f9edbba6eso4721746ple.11\n for <dev@dpdk.org>; Thu, 15 Dec 2022 01:09:17 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1671095359;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=As3BlZ927p/mkN6T7Vu06LCx1PIxSoRaxfKzLbrGcUk=;\n b=UYcWWoqEKuuBe5W0YnNU4C6DXbBCE0P+bZRXt7uKDJgXeKOu0DmQfeR8Vart8jID4O1zfN\n CNpMY6BcUMlMRkfcvYPhRnmrKoizkx9pYjNdTcG+y1y3QtAPcVJu5UW/DSw8mEHDJ5DbJK\n cG0e0lMiLEumy4lEFCuKIfjEX9e57dI=", "X-MC-Unique": "HyX901L1MpOS2aa6T28hTA-1", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=As3BlZ927p/mkN6T7Vu06LCx1PIxSoRaxfKzLbrGcUk=;\n b=V0XJ6OUZo7vFtXgvqE24gdL5TzAcHIPJ+ha6nk4+XbJC6gofWElOHsrL27+DikH8L/\n pKv2hSCL2Oj0cpUQ0fC0uUn61Fdy4L80x7rMMWSiodUXvdFvM/HH/L2vWR8OTJqO46lT\n EvoMgieX8i2X6S0doWSsKj8O5h1EefrRRfvkFMV3akWTSU/j4KBu4haceCx9eXXWcGyr\n VLDdWfZg1FLPGaxU7jgFtHzu2oh+FcIshzYAttLJ8JQSEi9yqf375we2jyPPl6X3Lfsz\n uPM5DkNt+XQhJ91vKgcCPn7O05hD3so62xdOVIyZ2M/iqb/48LU0xSiV7D5WiigSm5jx\n 23aQ==", "X-Gm-Message-State": "ANoB5pmpiEiA2XSRTbZK7GUYkEMa179oAxYDisBMqeisp/OXHn9jIcgh\n UCGPtN38c6aOnf+KM4QFR3ZbZ44951aNZ/VeXPoKGMTkctV6ch4atr3q8kMpMsh5TrCzx+t37yT\n B/a3LBk2Qblhok+2JpKo=", "X-Received": [ "by 2002:a05:6a00:140c:b0:56b:b520:3751 with SMTP id\n l12-20020a056a00140c00b0056bb5203751mr80581927pfu.29.1671095356894;\n Thu, 15 Dec 2022 01:09:16 -0800 (PST)", "by 2002:a05:6a00:140c:b0:56b:b520:3751 with SMTP id\n l12-20020a056a00140c00b0056bb5203751mr80581926pfu.29.1671095356638; Thu, 15\n Dec 2022 01:09:16 -0800 (PST)" ], "X-Google-Smtp-Source": "\n AA0mqf6fZR/cNBmTsSmsvdkgvr/W93kLrzbojoOEqe3Ka+NAi4fNKSm4lEPc3kMolOQtHtUqa6WlNBG50NSHTDIC9DQ=", "MIME-Version": "1.0", "References": "<20200610144506.30505-1-david.marchand@redhat.com>\n <20200706205234.8040-1-david.marchand@redhat.com>\n <20200706205234.8040-8-david.marchand@redhat.com>\n <98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>", "In-Reply-To": "\n <98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>", "From": "David Marchand <david.marchand@redhat.com>", "Date": "Thu, 15 Dec 2022 10:09:05 +0100", "Message-ID": "\n <CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com>", "Subject": "Re: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "To": "=?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>", "Cc": "dev@dpdk.org, jerinj@marvell.com, bruce.richardson@intel.com,\n mdr@ashroe.eu, thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru,\n ktraynor@redhat.com, ian.stokes@intel.com, i.maximets@ovn.org,\n olivier.matz@6wind.com, konstantin.ananyev@intel.com,\n Neil Horman <nhorman@tuxdriver.com>", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "quoted-printable", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "addressed": null }, { "id": 155219, "web_url": "https://patches.dpdk.org/comment/155219/", "msgid": "<98CBD80474FA8B44BF855DF32C47DC35D875A9@smartserver.smartshare.dk>", "list_archive_url": "https://inbox.dpdk.org/dev/98CBD80474FA8B44BF855DF32C47DC35D875A9@smartserver.smartshare.dk", "date": "2022-12-15T10:21:13", "subject": "RE: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "submitter": { "id": 591, "url": "https://patches.dpdk.org/api/people/591/?format=api", "name": "Morten Brørup", "email": "mb@smartsharesystems.com" }, "content": "+CC Mattias, I forgot to put you on this discussion\n\n> From: David Marchand [mailto:david.marchand@redhat.com]\n> Sent: Thursday, 15 December 2022 10.09\nllbacks\n> \n> On Thu, Dec 15, 2022 at 10:05 AM Morten Brørup\n> <mb@smartsharesystems.com> wrote:\n> >\n> > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Marchand\n> > > Sent: Monday, 6 July 2020 22.53\n> > >\n> > > DPDK components and applications can have their say when a new\n> lcore is\n> > > initialized. For this, they can register a callback for\n> initializing\n> > > and\n> > > releasing their private data.\n> > >\n> > > Signed-off-by: David Marchand <david.marchand@redhat.com>\n> > > ---\n> >\n> > David,\n> >\n> > Shouldn't these callbacks be called from the EAL threads too, e.g.\n> from eal_thread_loop()?\n> >\n> > I looks like they are only called from eal_lcore_non_eal_allocate(),\n> which is only called from rte_thread_register().\n> \n> These should be called for already present lcores on callback\n> registration.\n> See rte_lcore_callback_register().\n\nThat is completely useless! They need to be called from the thread itself, so they have the correct environment, thread local storage, thread id, and similar context.\n\nHere is an example why:\n\nhttp://inbox.dpdk.org/dev/DM4PR18MB4368EEE47C1FE95DD73CE3FCD2E39@DM4PR18MB4368.namprd18.prod.outlook.com/T/#m3f6bb60ce19bdbba594e1212e8f17358ac1f9d3e\n\n\nWhen I saw them called from rte_lcore_callback_register(), I thought it was for some sort of pre-initialization or validation purposes.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 832C2A0543;\n\tThu, 15 Dec 2022 11:21:15 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7381840684;\n\tThu, 15 Dec 2022 11:21:15 +0100 (CET)", "from smartserver.smartsharesystems.com\n (smartserver.smartsharesystems.com [77.243.40.215])\n by mails.dpdk.org (Postfix) with ESMTP id B7DC940223\n for <dev@dpdk.org>; Thu, 15 Dec 2022 11:21:14 +0100 (CET)" ], "Content-class": "urn:content-classes:message", "MIME-Version": "1.0", "Content-Type": "text/plain;\n\tcharset=\"UTF-8\"", "Content-Transfer-Encoding": "base64", "Subject": "RE: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "Date": "Thu, 15 Dec 2022 11:21:13 +0100", "X-MimeOLE": "Produced By Microsoft Exchange V6.5", "Message-ID": "<98CBD80474FA8B44BF855DF32C47DC35D875A9@smartserver.smartshare.dk>", "In-Reply-To": "\n <CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com>", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "Thread-Topic": "[dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "Thread-Index": "AdkQZOyNgVt0GXFBSNCz9MqIkTdupwACHdUQ", "References": "<20200610144506.30505-1-david.marchand@redhat.com>\n <20200706205234.8040-1-david.marchand@redhat.com>\n <20200706205234.8040-8-david.marchand@redhat.com>\n <98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>\n <CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com>", "From": "=?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>", "To": "\"David Marchand\" <david.marchand@redhat.com>", "Cc": "<dev@dpdk.org>, <jerinj@marvell.com>, <bruce.richardson@intel.com>,\n <mdr@ashroe.eu>, <thomas@monjalon.net>, <andrew.rybchenko@oktetlabs.ru>,\n <ktraynor@redhat.com>, <ian.stokes@intel.com>, <i.maximets@ovn.org>,\n <olivier.matz@6wind.com>, <konstantin.ananyev@huawei.com>,\n \"Neil Horman\" <nhorman@tuxdriver.com>, <mattias.ronnblom@ericsson.com>", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "addressed": null }, { "id": 155244, "web_url": "https://patches.dpdk.org/comment/155244/", "msgid": "<CAJFAV8z3eOrhR=PfBjER3HGeHtrDvgw-0Cyg1W1idcEk7K-Vdg@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAJFAV8z3eOrhR=PfBjER3HGeHtrDvgw-0Cyg1W1idcEk7K-Vdg@mail.gmail.com", "date": "2022-12-16T08:09:00", "subject": "Re: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "submitter": { "id": 1173, "url": "https://patches.dpdk.org/api/people/1173/?format=api", "name": "David Marchand", "email": "david.marchand@redhat.com" }, "content": "Morten,\n\nOn Thu, Dec 15, 2022 at 11:21 AM Morten Brørup <mb@smartsharesystems.com> wrote:\n> > > Shouldn't these callbacks be called from the EAL threads too, e.g.\n> > from eal_thread_loop()?\n> > >\n> > > I looks like they are only called from eal_lcore_non_eal_allocate(),\n> > which is only called from rte_thread_register().\n> >\n> > These should be called for already present lcores on callback\n> > registration.\n> > See rte_lcore_callback_register().\n>\n> That is completely useless! They need to be called from the thread itself, so they have the correct environment, thread local storage, thread id, and similar context.\n\nIf it is broken, please fix it or come with a better implementation.\n\nAt the time, existing modules were storing their per lcore/thread\nprivate info using a local array and dereferencing it using\nrte_lcore_id() or a criteria of their liking.\nThe callbacks have to be carefully written to explicitly initialise\nper lcore/thread private info.\nI thought it was enough, plus nobody objected.\n\n\nNow, some things to consider for this requirement you want to add.\n\nIf we want an application to be able to register callbacks after\nrte_eal_init(), we need to wake/interrupt all EAL threads from what\nthey are doing.\nOnce EAL threads enter some job the application gave, they won't\nreread anything from EAL.\n\nOr we could require that callbacks are registered before\nrte_eal_init(), the init() callback could be called as the last step\nonce all DPDK modules are initialised but before the application calls\nrte_eal_remote_launch().\n\nBut the problem of needing the break EAL threads from what they are\ndoing is also present when we want to call the uninit() callback.\nAnd there, I have no good idea.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id EA1BFA0542;\n\tFri, 16 Dec 2022 09:09:17 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8A6D540E09;\n\tFri, 16 Dec 2022 09:09:17 +0100 (CET)", "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id F026D40685\n for <dev@dpdk.org>; Fri, 16 Dec 2022 09:09:15 +0100 (CET)", "from mail-pg1-f200.google.com (mail-pg1-f200.google.com\n [209.85.215.200]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id\n us-mta-398-pdy8CJVmMeWmXgzZ_K_e1A-1; Fri, 16 Dec 2022 03:09:13 -0500", "by mail-pg1-f200.google.com with SMTP id\n 84-20020a630257000000b00477f88d334eso1143983pgc.11\n for <dev@dpdk.org>; Fri, 16 Dec 2022 00:09:13 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1671178155;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=mSjatFmNV8GZERBK+ImQH/OYnRe/Raup/KF4Tvk1b+4=;\n b=Pc3MlmdQv/7bWj6K0keMaK17i09/her8g/B1sKmEFJG976LT/oHNn4gnlBglhDFdLRCnT7\n usOl/fJaW2ovPBiB+5RCcElxT7wtWtsEU73Hz1k/NErDXjgMmjmrqlG2zudrkGS31epymP\n Zbr7a+xh9Gb5+GnWhftxXkCqgtvb7Gg=", "X-MC-Unique": "pdy8CJVmMeWmXgzZ_K_e1A-1", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=mSjatFmNV8GZERBK+ImQH/OYnRe/Raup/KF4Tvk1b+4=;\n b=7HkNAFS2LzPXQ0rnLznJ3CTLzszYSDRhJEQ0ByqmA+R3yZOYoOgJj82lxxwpzvZusA\n bD1392nfT83vCi6MF7wc2ZZDssYuz1s/bvhvgVslfEeuQqMk1+z+WHmkIOZtoqJsFLqc\n Z1B48yO0oMN9qJeADIP8zdzTtsgeEu4ZdGJIlmgpozebuGJ6K2U9qgcT1/9mJXzcEJhe\n adcszPLTMThtvpWcUonYrUSd301fIG+r7oKrt8UGruim+3JrKon0YZmHYlo7ZtV8ts6z\n NRdKTp5fXxEDqvcMkOMJvtxP6rvQRshKOX7DlJ2Qhmc0UifBH0Lff8glP1sHaa/zVE+m\n sjLg==", "X-Gm-Message-State": "ANoB5pkBaH6iaSvLHQL3ybGRZw8xb3xqa8ytcWE+3NxoIlZBylVjbVej\n PQn3YjftMIHgkTriHVgde4CUEO0p5grC9VIAxvxBG5zZLu55GyW5byYTMX80qypw1ME7PV6fZO0\n Cxnb6NCnv+cgWmGKZNOo=", "X-Received": [ "by 2002:a17:902:a418:b0:187:edc:82f3 with SMTP id\n p24-20020a170902a41800b001870edc82f3mr81020253plq.161.1671178152411;\n Fri, 16 Dec 2022 00:09:12 -0800 (PST)", "by 2002:a17:902:a418:b0:187:edc:82f3 with SMTP id\n p24-20020a170902a41800b001870edc82f3mr81020244plq.161.1671178152101; Fri, 16\n Dec 2022 00:09:12 -0800 (PST)" ], "X-Google-Smtp-Source": "\n AA0mqf5VF+y39LIDfPhsmdbCbU9zZ9OXFAjZSdVUfI0eJ6oCYNE5lezySHlkZDkE3eg03tRhRxylmc/mdzrI1KVLsiw=", "MIME-Version": "1.0", "References": "<20200610144506.30505-1-david.marchand@redhat.com>\n <20200706205234.8040-1-david.marchand@redhat.com>\n <20200706205234.8040-8-david.marchand@redhat.com>\n <98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>\n <CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com>\n <98CBD80474FA8B44BF855DF32C47DC35D875A9@smartserver.smartshare.dk>", "In-Reply-To": "\n <98CBD80474FA8B44BF855DF32C47DC35D875A9@smartserver.smartshare.dk>", "From": "David Marchand <david.marchand@redhat.com>", "Date": "Fri, 16 Dec 2022 09:09:00 +0100", "Message-ID": "\n <CAJFAV8z3eOrhR=PfBjER3HGeHtrDvgw-0Cyg1W1idcEk7K-Vdg@mail.gmail.com>", "Subject": "Re: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "To": "=?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>", "Cc": "dev@dpdk.org, jerinj@marvell.com, bruce.richardson@intel.com,\n mdr@ashroe.eu, thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru,\n ktraynor@redhat.com, ian.stokes@intel.com, i.maximets@ovn.org,\n olivier.matz@6wind.com, konstantin.ananyev@huawei.com,\n Neil Horman <nhorman@tuxdriver.com>, mattias.ronnblom@ericsson.com", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "quoted-printable", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "addressed": null }, { "id": 155247, "web_url": "https://patches.dpdk.org/comment/155247/", "msgid": "<98CBD80474FA8B44BF855DF32C47DC35D875B6@smartserver.smartshare.dk>", "list_archive_url": "https://inbox.dpdk.org/dev/98CBD80474FA8B44BF855DF32C47DC35D875B6@smartserver.smartshare.dk", "date": "2022-12-16T09:55:34", "subject": "RE: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "submitter": { "id": 591, "url": "https://patches.dpdk.org/api/people/591/?format=api", "name": "Morten Brørup", "email": "mb@smartsharesystems.com" }, "content": "> From: David Marchand [mailto:david.marchand@redhat.com]\n> Sent: Friday, 16 December 2022 09.09\n> \n> Morten,\n> \n> On Thu, Dec 15, 2022 at 11:21 AM Morten Brørup\n> <mb@smartsharesystems.com> wrote:\n> > > > Shouldn't these callbacks be called from the EAL threads too,\n> e.g.\n> > > from eal_thread_loop()?\n> > > >\n> > > > I looks like they are only called from\n> eal_lcore_non_eal_allocate(),\n> > > which is only called from rte_thread_register().\n> > >\n> > > These should be called for already present lcores on callback\n> > > registration.\n> > > See rte_lcore_callback_register().\n> >\n> > That is completely useless! They need to be called from the thread\n> itself, so they have the correct environment, thread local storage,\n> thread id, and similar context.\n> \n> If it is broken, please fix it or come with a better implementation.\n> \n> At the time, existing modules were storing their per lcore/thread\n> private info using a local array and dereferencing it using\n> rte_lcore_id() or a criteria of their liking.\n> The callbacks have to be carefully written to explicitly initialise\n> per lcore/thread private info.\n> I thought it was enough, plus nobody objected.\n\nApparently, you were not alone thinking it was enough. :-)\n\n> \n> \n> Now, some things to consider for this requirement you want to add.\n> \n> If we want an application to be able to register callbacks after\n> rte_eal_init(), we need to wake/interrupt all EAL threads from what\n> they are doing.\n> Once EAL threads enter some job the application gave, they won't\n> reread anything from EAL.\n> \n> Or we could require that callbacks are registered before\n> rte_eal_init(), the init() callback could be called as the last step\n> once all DPDK modules are initialised but before the application calls\n> rte_eal_remote_launch().\n> \n> But the problem of needing the break EAL threads from what they are\n> doing is also present when we want to call the uninit() callback.\n> And there, I have no good idea.\n\nThank you for sharing your thoughts on this, David. Very valuable insights!\n\nI will try to determine the relevant scope and come up with a rough RFC, hoping to meet the December 25th proposal deadline for version 23.03.\n\n-Morten", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A7CE7A0093;\n\tFri, 16 Dec 2022 10:55:39 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7090B40A8A;\n\tFri, 16 Dec 2022 10:55:38 +0100 (CET)", "from smartserver.smartsharesystems.com\n (smartserver.smartsharesystems.com [77.243.40.215])\n by mails.dpdk.org (Postfix) with ESMTP id E75BC400D7\n for <dev@dpdk.org>; Fri, 16 Dec 2022 10:55:36 +0100 (CET)" ], "Content-class": "urn:content-classes:message", "MIME-Version": "1.0", "Content-Type": "text/plain;\n\tcharset=\"UTF-8\"", "Content-Transfer-Encoding": "base64", "Subject": "RE: [dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "Date": "Fri, 16 Dec 2022 10:55:34 +0100", "X-MimeOLE": "Produced By Microsoft Exchange V6.5", "Message-ID": "<98CBD80474FA8B44BF855DF32C47DC35D875B6@smartserver.smartshare.dk>", "In-Reply-To": "\n <CAJFAV8z3eOrhR=PfBjER3HGeHtrDvgw-0Cyg1W1idcEk7K-Vdg@mail.gmail.com>", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "Thread-Topic": "[dpdk-dev] [PATCH v6 07/10] eal: add lcore init callbacks", "Thread-Index": "AdkRJbNUfyYkDScpQZ+/+HhBYSsxHwADMXKg", "References": "<20200610144506.30505-1-david.marchand@redhat.com>\n <20200706205234.8040-1-david.marchand@redhat.com>\n <20200706205234.8040-8-david.marchand@redhat.com>\n <98CBD80474FA8B44BF855DF32C47DC35D875A7@smartserver.smartshare.dk>\n <CAJFAV8yewbxE7Lss3n6vditQbW67GNo+fAdFkC6pbdxjRktwXQ@mail.gmail.com>\n <98CBD80474FA8B44BF855DF32C47DC35D875A9@smartserver.smartshare.dk>\n <CAJFAV8z3eOrhR=PfBjER3HGeHtrDvgw-0Cyg1W1idcEk7K-Vdg@mail.gmail.com>", "From": "=?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>", "To": "\"David Marchand\" <david.marchand@redhat.com>", "Cc": "<dev@dpdk.org>, <jerinj@marvell.com>, <bruce.richardson@intel.com>,\n <mdr@ashroe.eu>, <thomas@monjalon.net>, <andrew.rybchenko@oktetlabs.ru>,\n <ktraynor@redhat.com>, <ian.stokes@intel.com>, <i.maximets@ovn.org>,\n <olivier.matz@6wind.com>, <konstantin.ananyev@huawei.com>,\n \"Neil Horman\" <nhorman@tuxdriver.com>, <mattias.ronnblom@ericsson.com>", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "addressed": null } ]