• Fengguang Wu's avatar
    h8300: select generic atomic64_t support · d95bfe46
    Fengguang Wu authored
    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: default avatarFengguang Wu <fengguang.wu@intel.com>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d95bfe46
Kconfig 5.64 KB