From: "Trahe, Fiona" <fiona.trahe@intel.com>
To: Shally Verma <shallyv@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "akhil.goyal@nxp.com" <akhil.goyal@nxp.com>,
Ashish Gupta <ashishg@marvell.com>,
"Daly, Lee" <lee.daly@intel.com>, Sunila Sahu <ssahu@marvell.com>,
"stable@dpdk.org" <stable@dpdk.org>,
"Trahe, Fiona" <fiona.trahe@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2] doc/compress: clarify error handling on data-plane
Date: Tue, 7 May 2019 18:24:09 +0000 [thread overview]
Message-ID: <348A99DA5F5B7549AA880327E580B435897553D3@IRSMSX101.ger.corp.intel.com> (raw)
In-Reply-To: <BN6PR1801MB20524947F09A7520B79F318FAD310@BN6PR1801MB2052.namprd18.prod.outlook.com>
Hi Shally
> > > > +
> > > > +There are some exceptions whereby errors can occur on the
> > ``enqueue``.
> > > > +For any error which can occur in a production environment and can
> > > > +be successful after a retry with the same op the PMD may return the
> > > > +error on the enqueue.
> > > This statement looks bit confusing.
> > > Seems like we are trying to add a description regarding op status
> > > check even after the enqueue call unlike current scenario, where app
> > > only check for it after dequeue?
> > [Fiona] The line following this explains that there is no need to check
> > op.status in this case.
> > Maybe it's not obvious that the application SHOULD check that all ops are
> > enqueued?
> > I can reword as:
> > The application should always check the value returned by the enqueue.
> > If less than the full burst is enqueued there's no need for the application to
> > check op.status of any or every op - it can simply retry from the return
> > value+1 in a later enqueue and expect success.
> >
> I agree to purpose of patch but have these confusions when I read description above:
>
> My understand is , if op status is INVALID_ARGS or any ERROR which is permanent in nature,
> Then nb_enqd return will be less than actually passed.
[Fiona] True.
> Regardless of whatever reason, if any time app gets
> nb_enqd < actually passed, then app should check status of nb_enqd + 1th op
[Fiona]. No, that's exactly what I was proposing to avoid.
> to find exact cause of failure and then either attempt re-enqueue Or correct op preparation or take any other
> appropriate action.
[Fiona] I was proposing to constrain PMDs to only return a subset of errors on the enqueue, so apps could be optimised.
But if you think it's not possible for PMDs to comply with it, then yes, apps would always have to check
status of nb_enqd + 1th op, and fork depending on the status.
Is this the case?
If so, much of this patch is unnecessary and I'll send a simplified v3 as almost any status can be returned anywhere.
> Also, STATUS_ERROR is very generic, it can be when queue is full in which case app can re-attempt an
> enqueue of same op
OR
> It can also indicate any irrecoverable error on enqueue, in which app just probably has to reset
> everything. For such kind of case, it might not be possible for PMD design
> to even push it into completion queue for an app to dequeue . I would suggest add another status code
> type which reflect permanent error condition i.e. irrecoverable error code
> which tells an app to perform PMD qp reset/re-init to recover and simplify description just to state an
> expected APP behavior to avoid infinite loop condition.
> It is then an app choice whether or not to check for op status for error after enqueue depending on
> whether its running in production environment or dev environment.
[Fiona] I wouldn't expect ERROR in a queue full case. I'd see ERROR as the catch-all when some
other specific status isn't appropriate. If you think there's a need for another specific status then
best send an API patch proposing it. This patch is only documenting the existing set.
next prev parent reply other threads:[~2019-05-07 18:24 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-08 16:14 [dpdk-dev] [PATCH] " Fiona Trahe
2019-04-08 16:14 ` Fiona Trahe
2019-04-09 14:55 ` [dpdk-dev] [PATCH v2] " Fiona Trahe
2019-04-09 14:55 ` Fiona Trahe
2019-04-18 12:12 ` Shally Verma
2019-04-18 12:12 ` Shally Verma
2019-04-30 16:33 ` Trahe, Fiona
2019-04-30 16:33 ` Trahe, Fiona
2019-05-07 17:14 ` Shally Verma
2019-05-07 17:14 ` Shally Verma
2019-05-07 18:24 ` Trahe, Fiona [this message]
2019-05-07 18:24 ` Trahe, Fiona
2019-05-08 12:41 ` Shally Verma
2019-05-08 12:41 ` Shally Verma
2019-05-08 14:00 ` Trahe, Fiona
2019-05-08 14:00 ` Trahe, Fiona
2019-05-09 8:58 ` Akhil Goyal
2019-05-09 8:58 ` Akhil Goyal
2019-05-09 10:44 ` Shally Verma
2019-05-09 10:44 ` Shally Verma
2019-05-14 15:29 ` Trahe, Fiona
2019-05-14 15:29 ` Trahe, Fiona
2019-05-14 15:37 ` Shally Verma
2019-05-14 15:37 ` Shally Verma
2019-05-15 11:16 ` [dpdk-dev] [PATCH v3] " Fiona Trahe
2019-05-15 11:16 ` Fiona Trahe
2019-05-15 11:43 ` Jozwiak, TomaszX
2019-05-15 11:43 ` Jozwiak, TomaszX
2019-05-15 12:03 ` Shally Verma
2019-05-15 12:03 ` Shally Verma
2019-06-19 14:57 ` Akhil Goyal
2019-04-16 15:02 [dpdk-dev] [PATCH v2] " Akhil Goyal
2019-04-16 15:02 ` Akhil Goyal
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=348A99DA5F5B7549AA880327E580B435897553D3@IRSMSX101.ger.corp.intel.com \
--to=fiona.trahe@intel.com \
--cc=akhil.goyal@nxp.com \
--cc=ashishg@marvell.com \
--cc=dev@dpdk.org \
--cc=lee.daly@intel.com \
--cc=shallyv@marvell.com \
--cc=ssahu@marvell.com \
--cc=stable@dpdk.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).