From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH v5 1/6] lib: distributor performance enhancements Date: Mon, 23 Jan 2017 12:26:38 +0000 Message-ID: <20170123122637.GA133928@bricha3-MOBL3.ger.corp.intel.com> References: <1483948248-91364-2-git-send-email-david.hunt@intel.com> <1484903933-127190-1-git-send-email-david.hunt@intel.com> <1484903933-127190-2-git-send-email-david.hunt@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: David Hunt Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id D02B1108D for ; Mon, 23 Jan 2017 13:26:41 +0100 (CET) Content-Disposition: inline In-Reply-To: <1484903933-127190-2-git-send-email-david.hunt@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 > --- 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