RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Lovich, Vitali
Date: Tuesday, November 11, 2008 - 10:38 am

Hi Johann,

Again, I'm not convinced this is 100% feasible.  I understand, I think, what you're getting at.  If you want to use the field, you defined a structure like struct my_arg { void *old, ... my data ... }.  However, this isn't like C++ where the destructors for all layers are called.  There is only 1 destructor for the layer that created the skb (AFAIK) - all the layers simply increment their reference to it (which is decremented by a free).  Thus there's really no way to do what you want with minimal impact on existing code - the ideal behaviour would be to define a common struct (i.e. { void * olddata, void *thisdata }, that is filled with whatever data that layer needs when it increments the refcount and then have kfree_skb unwind the pointer as needed.  This would require a massive change to the code though, increase the amount of memory usage unnecessarily, and be prone to memory leaks if it's not done carefully.
We're talking about skb destructors, not socket destructors.  sock_wfree is not a destructor - it releases the resources allocated to the skb back to the socket that the resources are from.

Also, from what I can tell, this is how the Linux kernel works - if someone's change breaks the code, they're responsible for fixing it.  Changing how sock_wfree is fairly significant enough that we don't need to worry about making it easier - it'll probably be so significant that there will be a lot of changes anyways.  It's also highly unlikely to happen I think.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Fri Oct 31, 3:58 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Fri Oct 31, 10:07 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Fri Oct 31, 11:24 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Fri Oct 31, 1:28 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 4, 3:33 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 4, 3:45 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 4, 6:50 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 5, 5:47 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Thu Nov 6, 1:03 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Thu Nov 6, 11:49 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Thu Nov 6, 12:40 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Thu Nov 6, 12:53 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Fri Nov 7, 9:36 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Fri Nov 7, 10:19 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Fri Nov 7, 10:28 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, David Miller, (Fri Nov 7, 1:22 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Mon Nov 10, 1:29 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Mon Nov 10, 5:29 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 11, 4:43 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 11, 5:10 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 11, 10:38 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 11, 10:44 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 11, 10:50 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 11, 11:08 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 11, 11:14 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 11, 11:19 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Tue Nov 11, 11:50 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 11, 11:59 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 11, 12:10 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 11, 12:19 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Tue Nov 11, 12:29 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Wed Nov 12, 5:09 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Wed Nov 12, 6:43 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Wed Nov 12, 6:58 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 12, 10:07 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 12, 10:12 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Wed Nov 12, 10:41 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 12, 10:59 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Wed Nov 12, 11:11 am)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 12, 12:05 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Wed Nov 12, 12:14 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 12, 2:23 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Wed Nov 12, 2:46 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Wed Nov 12, 3:33 pm)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Johann Baudy, (Tue Nov 18, 11:49 am)
Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Evgeniy Polyakov, (Tue Nov 18, 12:10 pm)
RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING, Lovich, Vitali, (Tue Nov 18, 12:46 pm)