> On Fri, Dec 07, 2018 at 07:18:43PM +0100, Marek Vasut wrote: > > From: Tristram Ha <tristram...@microchip.com> > > > > Factor out common code from the tag_ksz , so that the code can be used > > with other KSZ family switches which use differenly sized tags. > > I prefer this implementation over what Tristram recently submitted. It > is also what we suggested a while back. However, since then we have > had Spectra/meltdown, and we now know a function call through a > pointer is expensive. This is the hot path, every frame comes through > here, so it is worth taking the time to optimize this. Could you try > to remove the ksz_tag_ops structure. xmit looks simple, since it is a > tail call, so you can do that in ksz9477_xmit. Receive looks a bit > more complex. > > I also think for the moment we need it ignore PTP until we have the > big picture sorted out. If need be, the code can be refactored yet > again. But i don't want PTP holding up getting more switches > supported.
Yes, as you may already know, what Marek submitted was my previous attempt to support different switches in tag_ksz.c. So this ksz_tag_ops is still not acceptable? As I understand the kernel is using this mechanism all over the places. What is left is a direct copying of the transmit and receive functions for each new switch tail tag format.