> >> > Huge performance degradation. Numbers are now many times worse than > >> before or after my optimizations. To me this shows that almost a > complete > >> rewrite (or revert) is needed. > >> > >> My guess is this is due to the atomics needed for reference counting > >> not being properly inlined internally. I know you did similar > >> optimizations for ticketlocks. Let me look into this and post a patch > >> that does the same for the atomics. > > > > Atomics are inlined already. Also atomic operations should not be > required if there's a single refence. > > The ref_count still needs to be initialized on alloc and decremented > on free to see if the packet should really be freed. The only way to > know whether you're dealing with a single reference or not is to > check. Do you have a breakdown of where the hotspots are? These > numbers do seem high. >
No, I didn't look into it any deeper. -Petri