Hi Chas,
I'm working on a series of patches to make all protocol families
use private slab caches for its socks, this is needed to introduce struct
connection_sock, to move the connection specific members out of struct
sock and save bytes/cachelines in non connected protocols, such as UDP.
Take a look at the attached patch that does this work on pfkey,
basically I need that struct atm_sock (now called atm_vcc) contains as
its first member a struct sock, so a pointer to an struct atm_sock is a
pointer to an struct sock.
This approach eliminates the need for a struct sock backpointer
in atm_sock.
The approach I'm using in ax25/netrom/rose is to make all functions
receive struct sock pointers, and from it, if needed, obtain the ax25_sock
pointer using ax25_sk(sk).
I'm coordinating with Ralf Baechle, the ham radio protocols
maintainer, that is reviewing my changes.
Do you have any mixed feelings about doing the same with atm?
Regards,
- Arnaldo