All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: "Elo, Matias (Nokia - FI/Espoo)" <matias.elo@nokia.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Van Haaren, Harry" <harry.van.haaren@intel.com>
Subject: Re: eventdev: method for finding out unlink status
Date: Mon, 30 Jul 2018 14:59:23 +0530	[thread overview]
Message-ID: <20180730092921.GA22242@jerin> (raw)
In-Reply-To: <80CC5C07-0D73-4F86-9F93-0AB78DEF2BFD@nokia.com>

-----Original Message-----
> Date: Mon, 30 Jul 2018 09:17:47 +0000
> From: "Elo, Matias (Nokia - FI/Espoo)" <matias.elo@nokia.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> CC: "dev@dpdk.org" <dev@dpdk.org>, "Van Haaren, Harry"
>  <harry.van.haaren@intel.com>
> Subject: Re: [dpdk-dev] eventdev: method for finding out unlink status
> x-mailer: Apple Mail (2.3445.9.1)
> 
> 
> >>
> >> In bug report https://bugs.dpdk.org/show_bug.cgi?id=60 we have been discussing
> >> issues related to events ending up in wrong ports after calling
> >> rte_event_port_unlink(). In addition of finding few bugs we have identified a
> >> need for a new API call (or documentation extension) for an application to be
> >
> > From HW perspective, documentation extension should be enough. adding
> > "there may be pre-scheduled events and the application is responsible to process them"
> > on unlink(). Since dequeue() has which queue it is dequeue-ed from, the
> > application can allays make action based on that(i.e, Is the event
> > post/pre to unlink)
> 
> At least in case of SW eventdev the problem is how the application can know that
> it has processed all pre-scheduled events. E.g. dequeue may return nothing but since
> the scheduler is running as a separate process events may still end up to the unlinked
> port asynchronously.

Can't we do, dequeue() in loop to get all the events from port. If
dequeue returns with zero event then ports are drained up. Right?

> 
> >
> >> able to find out when an unlink() call has finished and no new events are
> >> scheduled anymore to the particular event port. This is required e.g. when doing
> >> clean-up after an application thread stops processing events.
> >
> > If thread stopping then it better to call dev_stop(). At least in HW
> > implementation,
> 
> For an application doing dynamic load balancing stopping the whole eventdev is not an
> option.

OK. Makes sense. Doing unlink() and link() in fastpath is not a
problem. Changing core assignment to event port is problem without stop(). I guess, you
application or general would be OK with that constraint.

> 
> > A given event port assigned to a new lcore other than
> > it previous one then we need to do some clean up at port level.
> 
>  In my case I'm mapping an event port per thread statically (basically thread_id == port_id),
> so this shouldn't be an issue.
> 
> 

  reply	other threads:[~2018-07-30  9:29 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-30  6:39 eventdev: method for finding out unlink status Elo, Matias (Nokia - FI/Espoo)
2018-07-30  7:54 ` Jerin Jacob
2018-07-30  9:17   ` Elo, Matias (Nokia - FI/Espoo)
2018-07-30  9:29     ` Jerin Jacob [this message]
2018-07-30  9:38       ` Van Haaren, Harry
2018-07-30 10:28         ` Elo, Matias (Nokia - FI/Espoo)
2018-07-30 10:36         ` Jerin Jacob
2018-07-30 13:36           ` Elo, Matias (Nokia - FI/Espoo)
2018-07-30 14:26             ` Jerin Jacob
2018-07-31  8:09               ` Elo, Matias (Nokia - FI/Espoo)
2018-07-31  8:31                 ` Jerin Jacob
2018-07-31  9:27                   ` Elo, Matias (Nokia - FI/Espoo)
2018-08-08 10:05                     ` Elo, Matias (Nokia - FI/Espoo)
2018-08-09 13:14                       ` Van Haaren, Harry
2018-08-09 14:18                         ` Jerin Jacob
2018-08-10 14:24                           ` Elo, Matias (Nokia - FI/Espoo)
2018-08-10 14:52                             ` Jerin Jacob
2018-08-10 16:55                               ` Van Haaren, Harry
2018-08-10 17:35                                 ` Jerin Jacob
2018-09-05  7:49                                   ` Elo, Matias (Nokia - FI/Espoo)
2018-09-12 15:17                                     ` Van Haaren, Harry
2018-07-30 15:32           ` Liang, Ma

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=20180730092921.GA22242@jerin \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=harry.van.haaren@intel.com \
    --cc=matias.elo@nokia.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.