On Tue, Sep 28, 2010 at 5:23 PM, Simon Wilkinson <[email protected]> wrote: > The rx_stats variable has always been globally available to processes which > link with RX, and the structure definition is visible in rx.h. It is also > exported by our shared libraries. However, as part of work on improving the > performance of the RX layer, I'd like to move the statistics to using atomic > counters. In order to catch bad usage of these, I'd like to change
Hi Simon, Any particular reason to use atomics as opposed to, say, thread-local stats that are aggregated (non-coherently, e.g. using just atomic reads with, perhaps, a store-to-read fence prior to the atomic reads) on demand, a la rxkad_stats? Avoiding fences and not having global rx_stats cache line(s) bouncing across the ccNUMA interconnect on every op would be a huge win on big machines, both in terms of latency and interconnect utilization. Furthermore, given that total ordering is undefined on a ccNUMA, doing so doesn't even seem to be a "correctness" loss to me... Regards, -Tom _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
