On Fri, Jan 20, 2017 at 09:18:48AM +0000, David Hunt wrote: > Now sends bursts of up to 8 mbufs to each worker, and tracks > the in-flight flow-ids (atomic scheduling) > > New file with a new api, similar to the old API except with _burst > at the end of the function names. This is to preserve the original > API (and code) for backward compatibility. > > It uses a similar handshake mechanism to the previous version of > the library, in that bits are used to indicate when packets are ready > to be sent to a worker and ready to be returned from a worker. One main > difference is that instead of sending one packet in a cache line, it > makes use of the 7 free spaces in the same cache line in order to send up to > 8 packets at a time to/from a worker. > > The flow matching algorithm has had significant re-work, and now keeps > an array of inflight flows and an array of backlog flows, and matches > incoming flows to the inflight/backlog flows of all workers so > that flow pinning to workers can be maintained. > > Signed-off-by: David Hunt <david.h...@intel.com> > ---
I still see some issues reported here by sanity check scripts. /Bruce --- /dev/null 2017-01-10 10:26:01.206201474 +0000 +++ /tmp/doc-check/doc.txt 2017-01-23 12:23:01.748870247 +0000 @@ -0,0 +1,6 @@ +/home/bruce/dpdk-clean/lib/librte_distributor/rte_distributor_burst.h:187: warning: argument 'mbuf' of command @param is not found in the argument list of rte_distributor_return_pkt_burst(struct rte_distributor_burst *d, unsigned int worker_id, struct rte_mbuf **oldpkt, int num) +/home/bruce/dpdk-clean/lib/librte_distributor/rte_distributor_burst.h:199: warning: The following parameters of rte_distributor_return_pkt_burst(struct rte_distributor_burst *d, unsigned int worker_id, struct rte_mbuf **oldpkt, int num) are not documented: + parameter 'oldpkt' + parameter 'num' +/home/bruce/dpdk-clean/lib/librte_distributor/rte_distributor_priv.h:73: warning: Found unknown command `\in_flight_bitmask' +/home/bruce/dpdk-clean/lib/librte_distributor/rte_distributor_priv.h:73: warning: Found unknown command `\rte_distributor_process' ==== Error with doc check ==== Line too long: makes use of the 7 free spaces in the same cache line in order to send up to ### lib: distributor performance enhancements WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #17: makes use of the 7 free spaces in the same cache line in order to send up to total: 0 errors, 1 warnings, 1131 lines checked 0/1 valid patch