1. 29 Sep, 2011 6 commits
    • Paul E. McKenney's avatar
      rcu: Update rcutorture documentation · 63cd758e
      Paul E. McKenney authored
      Update rcutorture documentation to account for boosting, new types of
      RCU torture testing that have been added over the past few years, and
      the memory-barrier testing that was added an embarrassingly long time
      ago.
      Signed-off-by: default avatarPaul E. McKenney <paul.mckenney@linaro.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      63cd758e
    • Paul E. McKenney's avatar
      rcu: Move rcu_head definition to types.h · 99098751
      Paul E. McKenney authored
      Take a first step towards untangling Linux kernel header files by
      placing the struct rcu_head definition into include/linux/types.h
      and including include/linux/types.h in include/linux/rcupdate.h
      where struct rcu_head used to be defined.  The actual inclusion point
      for include/linux/types.h is with the rest of the #include directives
      rather than at the point where struct rcu_head used to be defined,
      as suggested by Mathieu Desnoyers.
      
      Once this is in place, then header files that need only rcu_head
      can include types.h rather than rcupdate.h.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      99098751
    • Paul E. McKenney's avatar
      rcu: Restore checks for blocking in RCU read-side critical sections · b3fbab05
      Paul E. McKenney authored
      Long ago, using TREE_RCU with PREEMPT would result in "scheduling
      while atomic" diagnostics if you blocked in an RCU read-side critical
      section.  However, PREEMPT now implies TREE_PREEMPT_RCU, which defeats
      this diagnostic.  This commit therefore adds a replacement diagnostic
      based on PROVE_RCU.
      
      Because rcu_lockdep_assert() and lockdep_rcu_dereference() are now being
      used for things that have nothing to do with rcu_dereference(), rename
      lockdep_rcu_dereference() to lockdep_rcu_suspicious() and add a third
      argument that is a string indicating what is suspicious.  This third
      argument is passed in from a new third argument to rcu_lockdep_assert().
      Update all calls to rcu_lockdep_assert() to add an informative third
      argument.
      
      Also, add a pair of rcu_lockdep_assert() calls from within
      rcu_note_context_switch(), one complaining if a context switch occurs
      in an RCU-bh read-side critical section and another complaining if a
      context switch occurs in an RCU-sched read-side critical section.
      These are present only if the PROVE_RCU kernel parameter is enabled.
      
      Finally, fix some checkpatch whitespace complaints in lockdep.c.
      
      Again, you must enable PROVE_RCU to see these new diagnostics.  But you
      are enabling PROVE_RCU to check out new RCU uses in any case, aren't you?
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      b3fbab05
    • Paul E. McKenney's avatar
      rcu: Update documentation to flag RCU_BOOST trace information · d5988af5
      Paul E. McKenney authored
      Call out the RCU_TRACE information that is provided only in kernels
      built with RCU_BOOST.
      Signed-off-by: default avatarPaul E. McKenney <paul.mckenney@linaro.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      d5988af5
    • Shaohua Li's avatar
      rcu: Avoid unnecessary self-wakeup of per-CPU kthreads · 1eb52121
      Shaohua Li authored
      There are a number of cases where the RCU can find additional work
      for the per-CPU kthread within the context of that per-CPU kthread.
      In such cases, the per-CPU kthread is already running, so attempting
      to wake itself up does nothing except waste CPU cycles.  This commit
      therefore checks to see if it is in the per-CPU kthread context,
      omitting the wakeup in this case.
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarPaul E. McKenney <paul.mckenney@linaro.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      1eb52121
    • Eric Dumazet's avatar
      rcu: Use kthread_create_on_node() · 1f288094
      Eric Dumazet authored
      Commit a26ac245 (move TREE_RCU from softirq to kthread) added
      per-CPU kthreads.  However, kthread creation uses kthread_create(), which
      can put the kthread's stack and task struct on the wrong NUMA node.
      Therefore, use kthread_create_on_node() instead of kthread_create()
      so that the stacks and task structs are placed on the correct NUMA node.
      
      A similar change was carried out in commit 94dcf29a (kthread:
      use kthread_create_on_node()).
      
      Also change rcutorture's priority-boost-test kthread creation.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      CC: Tejun Heo <tj@kernel.org>
      CC: Rusty Russell <rusty@rustcorp.com.au>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Andi Kleen <ak@linux.intel.com>
      CC: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      1f288094
  2. 27 Sep, 2011 8 commits
    • Linus Torvalds's avatar
      Linux 3.1-rc8 · a102a9ec
      Linus Torvalds authored
      a102a9ec
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://github.com/tiwai/sound · 058e0676
      Linus Torvalds authored
      * 'for-linus' of git://github.com/tiwai/sound:
        ASoC: ssm2602: Re-enable oscillator after suspend
        ALSA: usb-audio: Check for possible chip NULL pointer before clearing probing flag
        ALSA: hda/realtek - Don't detect LO jack when identical with HP
        ALSA: hda/realtek - Avoid bogus HP-pin assignment
        ALSA: HDA: No power nids on 92HD93
        ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active
      058e0676
    • Linus Torvalds's avatar
      Merge branch 'pm-fixes' of git://github.com/rjwysocki/linux-pm · 57119327
      Linus Torvalds authored
      * 'pm-fixes' of git://github.com/rjwysocki/linux-pm:
        PM / Clocks: Do not acquire a mutex under a spinlock
      57119327
    • Takashi Iwai's avatar
      Merge branch 'fix/asoc' into for-linus · 0fac2590
      Takashi Iwai authored
      0fac2590
    • Linus Torvalds's avatar
      vfs: remove LOOKUP_NO_AUTOMOUNT flag · b6c8069d
      Linus Torvalds authored
      That flag no longer makes sense, since we don't look up automount points
      as eagerly any more.  Additionally, it turns out that the NO_AUTOMOUNT
      handling was buggy to begin with: it would avoid automounting even for
      cases where we really *needed* to do the automount handling, and could
      return ENOENT for autofs entries that hadn't been instantiated yet.
      
      With our new non-eager automount semantics, one discussion has been
      about adding a AT_AUTOMOUNT flag to vfs_fstatat (and thus the
      newfstatat() and fstatat64() system calls), but it's probably not worth
      it: you can always force at least directory automounting by simply
      adding the final '/' to the filename, which works for *all* of the stat
      family system calls, old and new.
      
      So AT_NO_AUTOMOUNT (and thus LOOKUP_NO_AUTOMOUNT) really were just a
      result of our bad default behavior.
      Acked-by: default avatarIan Kent <raven@themaw.net>
      Acked-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b6c8069d
    • Lars-Peter Clausen's avatar
      ASoC: ssm2602: Re-enable oscillator after suspend · 9058020c
      Lars-Peter Clausen authored
      Currently the the internal oscillator is powered down when entering BIAS_OFF
      state, but not re-enabled when going back to BIAS_STANDBY. As a result the
      CODEC will stop working after suspend if the internal oscillator is used to
      generate the sysclock signal. This patch fixes it by clearing the appropriate
      bit in the power down register when the CODEC is re-enabled.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@kernel.org
      9058020c
    • Trond Myklebust's avatar
      VFS: Fix the remaining automounter semantics regressions · 815d405c
      Trond Myklebust authored
      The concensus seems to be that system calls such as stat() etc should
      not trigger an automount.  Neither should the l* versions.
      
      This patch therefore adds a LOOKUP_AUTOMOUNT flag to tag those lookups
      that _should_ trigger an automount on the last path element.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      [ Edited to leave out the cases that are already covered by LOOKUP_OPEN,
        LOOKUP_DIRECTORY and LOOKUP_CREATE - all of which also fundamentally
        force automounting for their own reasons   - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      815d405c
    • Linus Torvalds's avatar
      vfs pathname lookup: Add LOOKUP_AUTOMOUNT flag · d94c177b
      Linus Torvalds authored
      Since we've now turned around and made LOOKUP_FOLLOW *not* force an
      automount, we want to add the ability to force an automount event on
      lookup even if we don't happen to have one of the other flags that force
      it implicitly (LOOKUP_OPEN, LOOKUP_DIRECTORY, LOOKUP_PARENT..)
      
      Most cases will never want to use this, since you'd normally want to
      delay automounting as long as possible, which usually implies
      LOOKUP_OPEN (when we open a file or directory, we really cannot avoid
      the automount any more).
      
      But Trond argued sufficiently forcefully that at a minimum bind mounting
      a file and quotactl will want to force the automount lookup.  Some other
      cases (like nfs_follow_remote_path()) could use it too, although
      LOOKUP_DIRECTORY would work there as well.
      
      This commit just adds the flag and logic, no users yet, though.  It also
      doesn't actually touch the LOOKUP_NO_AUTOMOUNT flag that is related, and
      was made irrelevant by the same change that made us not follow on
      LOOKUP_FOLLOW.
      
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Ian Kent <raven@themaw.net>
      Cc: Jeff Layton <jlayton@redhat.com>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Greg KH <gregkh@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d94c177b
  3. 26 Sep, 2011 14 commits
  4. 25 Sep, 2011 3 commits
  5. 24 Sep, 2011 1 commit
  6. 23 Sep, 2011 8 commits