Closed banburybill closed 8 years ago
Nice to have the IPv4 and IPv6 getifaddrs
via ioctl
merged in, it was dead code for IPv6 with current supported platforms, but sad to see sa_len
to come back. I don't see the file fetch_and_add_h.s
in the file list?
The 16-bit atomic path can ignored like Win64 by promoting to 32-bit tickets see:
https://github.com/banburybill/openpgm/blob/aix-support/openpgm/pgm/include/impl/ticket.h#L70
Or avoiding the ticket spin locks completely. I have yet to test the new queue spin locks as implemented in Linux that can provide greater fairness.
16-bit locks may not be supported on all hardware or may simply not work on non-aligned storage.
Sorry about sa_len
- didn't see any alternative...
Also apologies for missing fetch_and_add_h.s
. A silly error transferring the change from an internal non-Git repo. I've update the request, it's now there. I added it purely for when building with xlc; I first got everything working with GCC, where 16-bit atomics are available, but then wanted to allow building under my old copy of xlc too so I could avoid mixing C runtimes with stuff we have that must build with xlc. Adding the missing routine seemed the minimal disturbance route.
Note building OpenPGM with scons is not supported for AIX. xlc build tested with xlc v6. gcc build tested with gcc 4.6.3.