On Fri, Feb 22, 2013 at 09:42:43AM -0800, Adrian Chadd wrote: > .. considering I do radiotap inspection in promiscuous mode all the > time (on laptops and embedded MIPS boards alike), I'm kinda interested > in why you're seeing such high CPU utilisation. > > Are you trying to capture the whole frame? Or are you only capturing > the header? It sounds like you only need the header, right? Yup, we capture the whole frame, but as far as I understand the main problem are the syscalls to receive each frame individually. We had a similar interesting experience in batman-adv, operating with raw sockets and send/recv and could do more than 10 Mbit/s, and after moving to kernel space we could do several hundred Mbit/s - on the same platform (AMD Geode based boards). > > I agree with Felix - this is the kind of thing that it makes sense to > define an API for so you can write in-kernel monitoring plugins. Then > your monitoring plugin can decide how to aggregate and pass up the > data. Yeah, maybe ... I mean, I understand that our application is quite "special" and 99% of the mac80211 users (think laptop, android users etc) won't use it. OTOH there are at least some who have similar interest, so it's good to see who wants what. If many people want the same thing, we might be able to share the maintainance overhead among them. :) But if the goals are very different, it might be better as Felix suggested to just keep it out of mac80211 and everyone writes their own modules, or we create a shared base where everyone can attach code for their special needs. Anyway, I'll look at the rx_handler stuff what Felix suggested and see if this could work out. :) Cheers, Simon
Attachment:
signature.asc
Description: Digital signature