atomic_cmpxchg and 64-bit values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have what I hope is an easy to answer question.

The IA64 atomic_cmpxchg macro reads as follows (line continuation inserted):

	#define atomic_cmpxchg(v, old, new) \
		((int)cmpxchg(&((v)->counter), old, new))

Note that there's an integer cast on the return from cmpxchg().
This seems strange considering that the entire compxchg() code
path takes care to make sure that correctly-sized data types are
used throughout, including the return path.  The atomic_xchg()
macro

Is there some particular reason we need the cast to int on the
return path for atomic_cmpxchg()?  It looks to me as if this
macro would work equally well with an atomic_t or an atomic64_t.

Thanks,
Brent

-- 
Brent Casavant                          All music is folk music.  I ain't
bcasavan@xxxxxxx                        never heard a horse sing a song.
Silicon Graphics, Inc.                    -- Louis Armstrong
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux