Re: + separate-atomic_t-declaration-from-asm-atomich-into-asm-atomic_defh.patch added to -mm tree

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

 



On Fri, Aug 22, 2008 at 01:56:38PM -0700, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> Subject: Separate atomic_t declaration from asm/atomic.h into asm/atomic_def.h
> From: Huang Ying <ying.huang@xxxxxxxxx>
> 
> asm/atomic.h contains both declaration and implementation of atomic_t.  So
> there are some implementation related files included in asm/atomic.h.  And
> atomic_t is a typedef.  Combination of above makes it impossible to use
> atomic_t in files included by atomic.h.  Such as atomic_t can not be used
> in linux/kernel.h on i386, because it is included by asm/atomic.h.
> 
> It is reasonable to separate declaration from implementation.  So a new
> file atomic_def.h is added for every architecture to accommodate the
> declaration of atomic_t.

Seems to me like all architectures could use:

+++ include/linux/atomic_type.h
+typedef struct { volatile int counter; } atomic_t;
+#ifdef CONFIG_64BIT
+typedef struct { volatile long counter; } atomic64_t;
+#endif

S390 has an __aligned__((4)) on theirs -- is this really necessary?
Doesn't s390 align ints to 4 bytes automatically?  If it doesn't, it
shouldn't be harmful to add it to other architectures (iirc m68k only
requires 2-byte alignment for ints ... hmm, wonder if their atomic_t is
really atomic if, say, it cross a page boundary ...)

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" 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]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux