[ovs-dev] [RFC PATCH 0/8] dpif-netdev: Refactor cycle count and rebased patches

Jan Scheurich jan.scheurich at ericsson.com
Tue Jan 9 13:30:44 UTC 2018


> -----Original Message-----
> From: Ilya Maximets [mailto:i.maximets at samsung.com]
> Sent: Tuesday, 09 January, 2018 14:11
> To: Jan Scheurich <jan.scheurich at ericsson.com>; Stokes, Ian <ian.stokes at intel.com>; Kevin Traynor <ktraynor at redhat.com>
> Cc: dev at openvswitch.org; O Mahony, Billy <billy.o.mahony at intel.com>
> Subject: Re: [ovs-dev] [RFC PATCH 0/8] dpif-netdev: Refactor cycle count and rebased patches
> 
> On 09.01.2018 15:42, Jan Scheurich wrote:
> > Hi guys,
> >
> > Let's have a Skype call to align ourselves and the way forward.
> > I'm available 14-16 CET and 17-18 CET today. I'll send a tentative invite. Please reply.
> 
> Unfortunately, I'll not be able to attend today. It's already the end of my
> working hours today and I still have some other stuff to do.
> 
> >
> > I realize there are major comments on all three patch sets:
> >
> > - Ilya has shared some architectural concerns on the PMD perf metrics v5 (v6 is just docs). I haven't had time to go through all of them
> yet.
> > - I don't believe the complex cycle counting in Ilya's v9 is maintainable. We need a much simpler approach (such as my suggested
> nestable cycle timers). And we should introduce that before the time-based tx batching.
> > - I have proposed to radically simplify Kevin's counting of total PMD cycles for the printout
> >
> > None of them is ready for merging as it is today. If our goal is to get as many of these valuable features into 2.9 as possible, let's search
> for the most practical way of getting there.
> >
> > My suggestion would be to start with the least controversial refactoring first so that we do not introduce complex things in one patch
> that we then throw out in the next one again. By that let's try to make the actual feature patches as small and independent as possible.
> >
> > Here’s my suggestions:
> > 1. dpif-netdev: Refactor PMD performance into dpif-netdev-perf
> > 2. dpif-netdev: Refactor cycle counting (nestable cycle timer)
> > 3a. Time-based tx batching
> > 	dpif-netdev: Use microsecond granularity.
> > 	dpif-netdev: Count cycles on per-rxq basis. (using the nestable cycle timers)
> > 	dpif-netdev: Time based output batching.
> > 	docs: Describe output packet batching in DPDK guide.
> > 	NEWS: Mark output packet batching support.
> > 3b. dpif-netdev: Add percentage of pmd/core used by each rxq.
> > 3c. Detailed PMD Performance metrics
> > 	dpif-netdev: Detailed performance stats for PMDs
> > 	dpif-netdev: Detection and logging of suspicious PMD iterations
> >
> > What do you think?
> 
> Basically, this looks good to me. But I still think that we should work on that
> step-by-step not tying to make all the work at once. This will save time of
> rebasing on intermediate versions of patches.

Fine with me as long as that doesn't stop review and testing of the not yet rebased
patches 3a-c. We need those tests and reviews to find and address any deficiencies
inherent in the feature (independent from rebasing).

> I'll try to spend some time from the rest of today to check out "nestable cycle timers".
> Would like to see fixed patch from #1 and a proper patch for #2.

I will try to send out patches for #1 (v6) and #2 this afternoon.

> Step #3a should not be hard.
> 

@Ian, Kevin and Billy: Should we anyway have a short Skype chat?

Regards, Jan


More information about the dev mailing list