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