summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFengguang Wu <fengguang.wu@intel.com>2012-12-18 14:21:29 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-18 15:02:11 -0800
commitd95bfe464bae35daadaa46477e3ef984747abfff (patch)
tree3ab21267930ead189b8b91aa6dc2940be643bbb2
parentaf56e3f017bae54b9c3b5f7877d5eff990a2eed9 (diff)
downloadlinux-3.10-d95bfe464bae35daadaa46477e3ef984747abfff.tar.gz
linux-3.10-d95bfe464bae35daadaa46477e3ef984747abfff.tar.bz2
linux-3.10-d95bfe464bae35daadaa46477e3ef984747abfff.zip
h8300: select generic atomic64_t support
Rationales from Eric: So I just looked a little deeper and it appears architectures that do not support atomic64_t are broken. The generic atomic64 support came in 2009 to support the perf subsystem with the expectation that all architectures would implement atomic64 support. Furthermore upon inspection of the kernel atomic64_t is used in a fair number of places beyond the performance counters: block/blk-cgroup.c drivers/acpi/apei/ drivers/block/rbd.c drivers/crypto/nx/nx.h drivers/gpu/drm/radeon/radeon.h drivers/infiniband/hw/ipath/ drivers/infiniband/hw/qib/ drivers/staging/octeon/ fs/xfs/ include/linux/perf_event.h include/net/netfilter/nf_conntrack_acct.h kernel/events/ kernel/trace/ net/mac80211/key.h net/rds/ The block control group, infiniband, xfs, crypto, 802.11, netfilter. Nothing quite so fundamental as fs/namespace.c but definitely in multiplatform-code that should work, and is already broken on those architecutres. Looking at the implementation of atomic64_add_return in lib/atomic64.c the code looks as efficient as these kinds of things get. Which leads me to the conclusion that we need atomic64 support on all architectures. Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/h8300/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 04bef4d25b4..0ae44508760 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -3,6 +3,7 @@ config H8300
default y
select HAVE_IDE
select HAVE_GENERIC_HARDIRQS
+ select GENERIC_ATOMIC64
select HAVE_UID16
select ARCH_WANT_IPC_PARSE_VERSION
select GENERIC_IRQ_SHOW