On Wed, Oct 26, 2016 at 12:11:03PM +0000, Van Haaren, Harry wrote: > > -----Original Message----- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jerin Jacob > > > > So far, I have received constructive feedback from Intel, NXP and Linaro > > folks. > > Let me know, if anyone else interested in contributing to the definition of > > eventdev? > > > > If there are no major issues in proposed spec, then Cavium would like work > > on > > implementing and up-streaming the common code(lib/librte_eventdev/) and > > an associated HW driver.(Requested minor changes of v2 will be addressed > > in next version). > > Hi All, > > I will propose a minor change to the rte_event struct, allowing some bits to > be implementation specific. Currently the rte_event struct has no space to > allow an implementation store any metadata about the event. For software > performance it would be really helpful if there are some bits available for > the implementation to keep some flags about each event.
OK. > > I suggest to rework the struct as below which opens 6 bits that were > otherwise wasted, and define them as implementation specific. By > implementation specific it is understood that the implementation can > overwrite any information stored in those bits, and the application must not > expect the data to remain after the event is scheduled. > > OLD: > struct rte_event { > uint32_t flow_id:24; > uint32_t queue_id:8; > uint8_t sched_type; /* Note only 2 bits of 8 are required */ > > NEW: > struct rte_event { > uint32_t flow_id:24; > uint32_t sched_type:2; /* reduced size : but 2 bits is enough for the > enqueue types Ordered,Atomic,Parallel.*/ > uint32_t implementation:6; /* available for implementation specific > metadata */ > uint8_t queue_id; /* still 8 bits as before */ > > > Thoughts? -Harry Looks good to me. I will add it in v3.