[dpdk-dev] [PATCH v2 1/2] mbuf: provide rte_pktmbuf_alloc_bulk API
Yuanhan Liu
yuanhan.liu at linux.intel.com
Fri Dec 18 03:17:48 CET 2015
On Thu, Dec 17, 2015 at 03:42:19PM +0000, Ananyev, Konstantin wrote:
>
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Yuanhan Liu
> > Sent: Thursday, December 17, 2015 6:41 AM
> > To: Xie, Huawei
> > Cc: dev at dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH v2 1/2] mbuf: provide rte_pktmbuf_alloc_bulk API
> >
> > > +{
> > > + unsigned idx = 0;
> > > + int rc;
> > > +
> > > + rc = rte_mempool_get_bulk(pool, (void **)mbufs, count);
> > > + if (unlikely(rc))
> > > + return rc;
> > > +
> > > + switch (count % 4) {
> > > + while (idx != count) {
> >
> > Well, that's an awkward trick, putting while between switch and case.
> >
> > How about moving the whole switch block ahead, and use goto?
> >
> > switch (count % 4) {
> > case 3:
> > goto __3;
> > break;
> > case 2:
> > goto __2;
> > break;
> > ...
> >
> > }
> >
> > It basically generates same instructions, yet it improves the
> > readability a bit.
>
> I am personally not a big fun of gotos, unless it is totally unavoidable.
> I think switch/while construction is pretty obvious these days.
To me, it's not. (well, maybe I have been out for a while :(
> For me the original variant looks cleaner,
I agree with you on that. But it sacrifices code readability a bit.
If two pieces of code generates same instructions, but one is cleaner
(shorter), another one is more readable, I'd prefer the later.
> so my vote would be to stick with it.
Okay. And anyway, above is just a suggestion, and I'm open to other
suggestions.
--yliu
More information about the dev
mailing list