1. 28 5月, 2013 1 次提交
  2. 22 5月, 2013 1 次提交
    • M
      m68k: implement futex.h to support userspace robust futexes and PI mutexes · e4f2dfbb
      Mikael Pettersson 提交于
      Linux/M68K currently doesn't support robust futexes or PI mutexes.
      The problem is that the futex code needs to perform certain ops
      (cmpxchg, set, add, or, andn, xor) atomically on user-space
      addresses, and M68K's lack of a futex.h causes those operations
      to be unsupported and disabled.
      
      This patch adds that support, but only for uniprocessor machines,
      which is adequate for M68K.  For UP it's enough to disable preemption
      to ensure mutual exclusion (futexes don't need to care about other
      hardware agents), and the mandatory pagefault_disable() does just that.
      
      This patch is closely based on the one I co-wrote for UP ARM back
      in August 2008.  The main change is that this patch uses the C
      get_user/put_user accessors instead of inline assembly code with
      exception table fixups.
      
      For non-MMU machines the new futex.h simply redirects to the generic
      futex.h, so there is no functional change for them.
      
      Tested on aranym with the glibc-2.17 test suite: no regressions, and
      a number of mutex/condvar test cases went from failing to succeeding
      (tst-mutexpi{5,5a,6,9}, tst-cond2[45], tst-robust[1-9], tst-robustpi[1-8]).
      Also tested with glibc-2.18 HEAD and a local glibc patch to enable PI
      mutexes: no regressions.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Acked-by: NAndreas Schwab <schwab@linux-m68k.org>
      [geert: Added removal of ""generic-y += futex.h"]
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      e4f2dfbb
  3. 21 5月, 2013 1 次提交
    • L
      x86: Fix bit corruption at CPU resume time · 5e427ec2
      Linus Torvalds 提交于
      In commit 78d77df7 ("x86-64, init: Do not set NX bits on non-NX
      capable hardware") we added the early_pmd_flags that gets the NX bit set
      when a CPU supports NX. However, the new variable was marked __initdata,
      because the main _use_ of this is in an __init routine.
      
      However, the bit setting happens from secondary_startup_64(), which is
      called not only at bootup, but on every secondary CPU start.  Including
      resuming from STR and at CPU hotplug time.  So the value cannot be
      __initdata.
      Reported-bisected-and-tested-by: NMichal Hocko <mhocko@suse.cz>
      Cc: stable@vger.kernel.org # v3.9
      Acked-by: NPeter Anvin <hpa@linux.intel.com>
      Cc: Fernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5e427ec2
  4. 18 5月, 2013 11 次提交
  5. 17 5月, 2013 2 次提交
  6. 15 5月, 2013 1 次提交
    • J
      time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time optimizaitons · b4f711ee
      John Stultz 提交于
      Kay Sievers noted that the ALWAYS_USE_PERSISTENT_CLOCK config,
      which enables some minor compile time optimization to avoid
      uncessary code in mostly the suspend/resume path could cause
      problems for userland.
      
      In particular, the dependency for RTC_HCTOSYS on
      !ALWAYS_USE_PERSISTENT_CLOCK, which avoids setting the time
      twice and simplifies suspend/resume, has the side effect
      of causing the /sys/class/rtc/rtcN/hctosys flag to always be
      zero, and this flag is commonly used by udev to setup the
      /dev/rtc symlink to /dev/rtcN, which can cause pain for
      older applications.
      
      While the udev rules could use some work to be less fragile,
      breaking userland should strongly be avoided. Additionally
      the compile time optimizations are fairly minor, and the code
      being optimized is likely to be reworked in the future, so
      lets revert this change.
      Reported-by: NKay Sievers <kay@vrfy.org>
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      Cc: stable <stable@vger.kernel.org> #3.9
      Cc: Feng Tang <feng.tang@intel.com>
      Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Link: http://lkml.kernel.org/r/1366828376-18124-1-git-send-email-john.stultz@linaro.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      b4f711ee
  7. 14 5月, 2013 23 次提交