Messages in this thread | | | Subject | Re: [PATCH] netpoll: allow execution of multiple rx_hooks per interface | From | Matt Mackall <> | Date | Wed, 06 Jan 2010 21:54:05 -0600 |
| |
On Wed, 2010-01-06 at 21:54 +0100, Daniel Borkmann wrote: > Hi, > > this patch allows the registration and _execution_ of multiple netpoll > rx_hooks per interface. Currently, it is possible to register multiple > netpoll structures to one interface, _but_ only one single rx_hook (from > the netpoll struct that has been registered last) can be executed, which > was an oversight in the implementation [1]. > So, this patch fixes it. I've sucessfully tested it within 2.6.32.2 with > the registration of multiple rx_hook clients for several times. I'd > appreciate comments / feedback.
(grumbles about cc:)
Please inline patches so they can be reviewed easily in reply.
- struct netpoll *np = npi->rx_np; + struct netpoll **np = &npi->rx_np;
- if (!np) + if (!(*np))
This makes everything horrible. Can you avoid the double indirection? Using a list head might be a good answer.
-- http://selenic.com : development and support for Mercurial and Linux
| |