On Mon, May 30, 2016 at 04:17:52PM +0800, Herbert Xu wrote: > > Commit 412ca1550cbecb2c ("macvlan: Move broadcasts into a work queue") > > moved processing of all macvlan multicasts into a work queue. This > > causes a noticable performance regression when there is heavy multicast > > traffic on the underlying interface for multicast groups that the > > macvlan subinterfaces are not members of, in which case we end up > > cloning all those packets and then freeing them again from a work queue > > without really doing any useful work with them in between. > > OK so your motivation is to get rid of the unnecessary memory > allocation, right?
That and stack switches to kworker threads and serialisation on the bc_queue queue lock.