unsafe fn atomic_max<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T
returns the max value (signed comparison)