From: "Van Haaren, Harry" <harry.van.haaren@intel.com> To: "Van Haaren, Harry" <harry.van.haaren@intel.com>, Mattias Rönnblom <mattias.ronnblom@ericsson.com>, "dev@dpdk.org" <dev@dpdk.org> Cc: David Marchand <david.marchand@redhat.com> Subject: Re: [dpdk-dev] [PATCH v2 1/2] service: add component useful work attribute Date: Mon, 5 Oct 2020 16:45:05 +0000 Message-ID: <BYAPR11MB31430E6721D595A86AF459E9D70C0@BYAPR11MB3143.namprd11.prod.outlook.com> (raw) In-Reply-To: <BYAPR11MB3143A79B29D0E12226A95555D7380@BYAPR11MB3143.namprd11.prod.outlook.com> > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Van Haaren, Harry > Sent: Wednesday, September 23, 2020 3:17 PM > To: Mattias Rönnblom <mattias.ronnblom@ericsson.com>; dev@dpdk.org > Cc: david.marchand@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2 1/2] service: add component useful work > attribute > > > -----Original Message----- > > From: Mattias Rönnblom <mattias.ronnblom@ericsson.com> > > Sent: Wednesday, September 23, 2020 12:40 PM > > To: Van Haaren, Harry <harry.van.haaren@intel.com>; dev@dpdk.org > > Cc: david.marchand@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH v2 1/2] service: add component useful work > > attribute > > Hi Mattias, > > Thanks for taking time to review & prompt reply! Ping Mattias - any input based on follow up discussion below? > > On 2020-09-14 16:37, Harry van Haaren wrote: > > > This commit adds a new attribute which allows the service to indicate > > > if the previous iteration of work was "useful". Useful work here implies > > > forward progress was made. > > > > > Exposing this information via an attribute to the application allows > > > tracking of CPU cycles as being useful or not-useful, and a CPU load > > > estimate can be deduced from that information. > > > > > > How would that tracking be implemented? rte_service.c already keeps > > track of the amount of busy cycles per service. Would it be possible to > > reuse that mechanism to achieve the same goal? > > Tracking "busy cycles" is not exactly the same - Eventdev SW PMD can spend > cycles polling, and trying to move packets around its internal queues, but make > no forward progress. Measuring cycles spent in the service would not indicate > the correct "busyness" in that case. > > In the suggested patchset, each service (e.g Eventdev SW PMD) can update > a statistic itself, pushing an attribute value into the service-cores layer. > This method allows each PMD to define "useful work" in its own way. > > > We did some prototyping on dynamic load balancing for the service core > > framework, and then we extended the API is such a way that the service > > callback would return a bool indicating if forward progress was made, if > > I recall correctly. Sampling these counters allowed for tracking load on > > both a per-lcore and per-service basis. > > The service callback return value can be stored/inspected on the service-core > itself, but how to show that to the application? It still requires an attribute API > like proposed below re-using "attr_get" API I think. > > So really the only difference in the prototype you mention is how the > service itself communicates business to the service-cores infrastructure in EAL. > > Perhaps re-purposing return-value is simpler, but it limits statistics from the > service to just business, and the API change requires all services to change. > > Pros of adding an API as this patchset proposes is to push attribute values to > service-core in EAL is extensibility, and no API breakage. > > Given that context, Ack / push-back to this suggested approach? <snip patch contents>
next prev parent reply other threads:[~2020-10-05 18:59 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-07 16:21 [dpdk-dev] [PATCH " Harry van Haaren 2020-09-07 16:21 ` [dpdk-dev] [PATCH 2/2] event/sw: add useful work done attribute Harry van Haaren 2020-09-14 8:37 ` [dpdk-dev] [PATCH 1/2] service: add component useful work attribute David Marchand 2020-09-14 14:37 ` Van Haaren, Harry 2020-09-14 14:37 ` [dpdk-dev] [PATCH v2 " Harry van Haaren 2020-09-14 14:37 ` [dpdk-dev] [PATCH v2 2/2] event/sw: add useful work done attribute Harry van Haaren 2020-09-21 14:49 ` [dpdk-dev] [PATCH v2 1/2] service: add component useful work attribute David Marchand 2020-09-21 15:17 ` Van Haaren, Harry 2020-09-21 23:47 ` Honnappa Nagarahalli 2020-09-23 11:39 ` Mattias Rönnblom 2020-09-23 14:16 ` Van Haaren, Harry 2020-10-05 16:45 ` Van Haaren, Harry [this message] 2020-10-16 12:20 ` David Marchand 2020-10-16 12:57 ` Van Haaren, Harry 2021-01-13 14:42 ` David Marchand 2021-01-14 12:15 ` Van Haaren, Harry
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=BYAPR11MB31430E6721D595A86AF459E9D70C0@BYAPR11MB3143.namprd11.prod.outlook.com \ --to=harry.van.haaren@intel.com \ --cc=david.marchand@redhat.com \ --cc=dev@dpdk.org \ --cc=mattias.ronnblom@ericsson.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git