public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: linux-kernel@vger.kernel.org, axboe@kernel.dk,
	rusty@rustcorp.com.au, akpm@linux-foundation.org,
	ebiederm@xmission.com, tytso@mit.edu, Trond.Myklebust@netapp.com,
	aelder@sgi.com, hch@infradead.org, viro@zeniv.linux.org.uk,
	davem@davemloft.net, netdev@vger.kernel.org, x86@kernel.org,
	mingo@redhat.com, fweisbec@gmail.com, dan.j.williams@intel.com,
	borislav.petkov@amd.com, ying.huang@intel.com, lenb@kernel.org,
	neilb@suse.de, cl@linux-foundation.org
Subject: [PATCHSET] percpu: add __percpu sparse annotations
Date: Tue, 26 Jan 2010 00:22:07 +0900	[thread overview]
Message-ID: <1264432935-10453-1-git-send-email-tj@kernel.org> (raw)

This patchset adds __percpu sparse annotations to all percpu users
covered by x86_64 allmodconfig.  __percpu annotation teaches sparse
that percpu variables live in a separate address space and can't be
accessed directly without going through percpu accessors.  This allows
detection of most percpu access mistakes involving both static and
dyanmic percpu variables.

This patchset contains the following eight patches.

 0001-percpu-add-__percpu-sparse-annotations-to-core-kerne.patch
 0002-percpu-add-__percpu-sparse-annotations-to-fs.patch
 0003-percpu-add-__percpu-sparse-annotations-to-net.patch
 0004-percpu-add-__percpu-sparse-annotations-to-net-driver.patch
 0005-percpu-add-__percpu-sparse-annotations-to-x86.patch
 0006-percpu-add-__percpu-sparse-annotations-to-trace.patch
 0007-percpu-add-__percpu-sparse-annotations-to-hw_breakpo.patch
 0008-percpu-add-__percpu-sparse-annotations-to-what-s-lef.patch

As these annotations are for sparse, none of the above patches affects
normal kernel build and most of the conversions are straight-forward
and trivial.  There are a few places where the conversion isn't
completely straight-forward (but still fairly trivial).  Those are
mentioned in each patch description.

I can route the patch through percpu and conflict resolution, if
necessary, wouldn't be difficult at all for these changes.  If anyone
wants to route one of these patches through a different tree, please
let me know.  All that's necessary would be adding dummy __percpu
definition to the patch.

If nobody objects, I'll push these into percpu tree in three or four
days.

Thanks.

 arch/x86/include/asm/msr.h                 |   12 ++++---
 arch/x86/kernel/acpi/cstate.c              |    2 -
 arch/x86/kernel/cpu/common.c               |    2 -
 arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c |    2 -
 arch/x86/lib/msr-smp.c                     |    8 +++--
 arch/x86/lib/msr.c                         |    6 +--
 crypto/cryptd.c                            |    2 -
 drivers/acpi/processor_perflib.c           |    2 -
 drivers/dma/dmaengine.c                    |    2 -
 drivers/edac/amd64_edac.c                  |    2 -
 drivers/md/raid5.c                         |    2 -
 drivers/md/raid5.h                         |    2 -
 drivers/net/chelsio/sge.c                  |    2 -
 drivers/net/loopback.c                     |   16 +++++-----
 drivers/net/macvlan.c                      |    2 -
 drivers/net/veth.c                         |    4 +-
 fs/ext4/ext4.h                             |    2 -
 fs/nfs/iostat.h                            |    4 +-
 fs/xfs/xfs_mount.h                         |    2 -
 include/acpi/processor.h                   |    2 -
 include/linux/blktrace_api.h               |    4 +-
 include/linux/dmaengine.h                  |    2 -
 include/linux/ftrace_event.h               |    4 +-
 include/linux/genhd.h                      |    2 -
 include/linux/hw_breakpoint.h              |    8 ++---
 include/linux/kexec.h                      |    2 -
 include/linux/mmzone.h                     |    2 -
 include/linux/module.h                     |    2 -
 include/linux/mount.h                      |    2 -
 include/linux/nfs_fs_sb.h                  |    2 -
 include/linux/percpu_counter.h             |    2 -
 include/linux/srcu.h                       |    2 -
 include/net/ip.h                           |    6 +--
 include/net/ipcomp.h                       |    2 -
 include/net/neighbour.h                    |    2 -
 include/net/netns/conntrack.h              |    2 -
 include/net/netns/core.h                   |    2 -
 include/net/route.h                        |    2 -
 include/net/snmp.h                         |   12 +++++--
 include/net/tcp.h                          |    2 -
 include/trace/ftrace.h                     |    4 +-
 kernel/hw_breakpoint.c                     |   14 ++++----
 kernel/kexec.c                             |    2 -
 kernel/sched.c                             |    4 +-
 kernel/stop_machine.c                      |    2 -
 kernel/trace/trace_event_profile.c         |   16 +++++-----
 kernel/trace/trace_functions_graph.c       |    2 -
 kernel/trace/trace_kprobe.c                |    4 +-
 kernel/trace/trace_ksym.c                  |   10 +++---
 kernel/trace/trace_syscalls.c              |    4 +-
 mm/percpu.c                                |   18 ++++++-----
 net/8021q/vlan.h                           |    2 -
 net/dccp/proto.c                           |    5 +--
 net/ipv4/af_inet.c                         |   46 ++++++++++++++---------------
 net/ipv4/proc.c                            |   28 ++++++++---------
 net/ipv4/route.c                           |    2 -
 net/ipv4/tcp.c                             |   21 +++++++------
 net/ipv6/addrconf.c                        |   24 +++++++--------
 net/ipv6/af_inet6.c                        |   28 ++++++++---------
 net/ipv6/proc.c                            |   24 ++++++++-------
 net/sctp/proc.c                            |    2 -
 net/sctp/protocol.c                        |    5 +--
 net/xfrm/xfrm_ipcomp.c                     |   16 +++++-----
 net/xfrm/xfrm_policy.c                     |    6 +--
 net/xfrm/xfrm_proc.c                       |    3 +
 samples/hw_breakpoint/data_breakpoint.c    |    6 +--
 66 files changed, 231 insertions(+), 209 deletions(-)

--
tejun

             reply	other threads:[~2010-01-25 15:19 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-25 15:22 Tejun Heo [this message]
2010-01-25 15:22 ` [PATCH 1/8] percpu: add __percpu sparse annotations to core kernel subsystems Tejun Heo
2010-01-25 21:58   ` Christoph Lameter
2010-01-31 11:42   ` Paul E. McKenney
2010-01-25 15:22 ` [PATCH 2/8] percpu: add __percpu sparse annotations to fs Tejun Heo
2010-01-25 15:22 ` [PATCH 3/8] percpu: add __percpu sparse annotations to net Tejun Heo
2010-01-25 21:32   ` David Miller
2010-01-25 15:22 ` [PATCH 4/8] percpu: add __percpu sparse annotations to net drivers Tejun Heo
2010-01-25 21:33   ` David Miller
2010-01-25 15:22 ` [PATCH 5/8] percpu: add __percpu sparse annotations to x86 Tejun Heo
2010-01-26  1:06   ` H. Peter Anvin
2010-01-26  2:17     ` Tejun Heo
2010-02-01  3:30       ` H. Peter Anvin
2010-01-25 15:22 ` [PATCH 6/8] percpu: add __percpu sparse annotations to trace Tejun Heo
2010-01-25 15:35   ` Steven Rostedt
2010-01-25 15:22 ` [PATCH 7/8] percpu: add __percpu sparse annotations to hw_breakpoint Tejun Heo
2010-01-26  0:19   ` Frederic Weisbecker
2010-01-26  0:48     ` Tejun Heo
2010-01-26  1:02       ` Frederic Weisbecker
2010-01-26  1:19         ` Tejun Heo
2010-01-26  2:01           ` Frederic Weisbecker
2010-01-26  2:10             ` Frederic Weisbecker
2010-01-26  2:13             ` Tejun Heo
2010-01-26  2:18               ` Frederic Weisbecker
2010-01-26  2:22                 ` Frederic Weisbecker
2010-01-26  2:34                   ` Tejun Heo
2010-01-26  2:35                     ` Frederic Weisbecker
2010-01-26  2:47                       ` Tejun Heo
2010-01-26  1:02     ` H. Peter Anvin
2010-01-26  2:06       ` Tejun Heo
2010-01-26  2:04         ` Al Viro
2010-01-26  2:16           ` Tejun Heo
2010-01-26  2:32             ` Al Viro
2010-01-26  2:43               ` Tejun Heo
2010-01-26  2:48                 ` Al Viro
2010-01-26  3:10                   ` Tejun Heo
2010-01-26  3:56                     ` Al Viro
2010-01-26  1:06     ` H. Peter Anvin
2010-01-26  1:12       ` Frederic Weisbecker
2010-01-26  2:10       ` Tejun Heo
2010-01-25 15:22 ` [PATCH 8/8] percpu: add __percpu sparse annotations to what's left Tejun Heo
2010-01-25 15:54   ` Borislav Petkov
2010-01-25 23:14 ` [PATCHSET] percpu: add __percpu sparse annotations Al Viro
2010-01-26  0:30   ` Tejun Heo
2010-02-02  5:37 ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1264432935-10453-1-git-send-email-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=Trond.Myklebust@netapp.com \
    --cc=aelder@sgi.com \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=borislav.petkov@amd.com \
    --cc=cl@linux-foundation.org \
    --cc=dan.j.williams@intel.com \
    --cc=davem@davemloft.net \
    --cc=ebiederm@xmission.com \
    --cc=fweisbec@gmail.com \
    --cc=hch@infradead.org \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=neilb@suse.de \
    --cc=netdev@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=x86@kernel.org \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox