> Latest rt2x00.git needs _all_ space (48 bytes) > However I can trim it down to 40 bytes quite easily, > since mac80211 wasn't using it anyway I wasn't too conservative > about the usage. ;) Heh. > I could even trim it down further if I disable the TX/RX dumping > through debugfs as intermediate solution. I'm working on a patch that keeps 40 bytes available for the driver. > Very nice, removing the requirement to store the entire control data would > save a lot of memory for rt2x00. (Currently it has a per-entry copy of the > tx control data). Yeah, that's one thing, another is all the copying of it. Since I wrote the mail I have extended my idea to the internal packet_data struct which again saves a lot of code. > > This means that the drivers are free to use everything in skb->cb for > > their own use but should leave the 'u32 flags' intact, and need to make > > sure to copy out all the information they need before putting in new > > information. This fits with all the drivers, rt2x00 needs at most 32 > > bytes (40 now, but one is the txcontrol pointer) while we have 44 free. > > Also, if the driver rejects the skb in ops->tx(), it must not have > > modified skb->cb. > > For rt2x00 that won't be a problem, it won't touch the skb->cb anyway > until it has performed all checks for queue entry availability. Good :) johannes
Attachment:
signature.asc
Description: This is a digitally signed message part