1. 14 Dec, 2010 6 commits
  2. 13 Dec, 2010 1 commit
    • Thomas Gleixner's avatar
      x86: HPET: Chose a paranoid safe value for the ETIME check · f1c18071
      Thomas Gleixner authored
      commit 995bd3bb (x86: Hpet: Avoid the comparator readback penalty)
      chose 8 HPET cycles as a safe value for the ETIME check, as we had the
      confirmation that the posted write to the comparator register is
      delayed by two HPET clock cycles on Intel chipsets which showed
      readback problems.
      
      After that patch hit mainline we got reports from machines with newer
      AMD chipsets which seem to have an even longer delay. See
      http://thread.gmane.org/gmane.linux.kernel/1054283 and
      http://thread.gmane.org/gmane.linux.kernel/1069458 for further
      information.
      
      Boris tried to come up with an ACPI based selection of the minimum
      HPET cycles, but this failed on a couple of test machines. And of
      course we did not get any useful information from the hardware folks.
      
      For now our only option is to chose a paranoid high and safe value for
      the minimum HPET cycles used by the ETIME check. Adjust the minimum ns
      value for the HPET clockevent accordingly.
      Reported-Bistected-and-Tested-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <alpine.LFD.2.00.1012131222420.2653@localhost6.localdomain6>
      Cc: Simon Kirby <sim@hostway.ca>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Andreas Herrmann <Andreas.Herrmann3@amd.com>
      Cc: John Stultz <johnstul@us.ibm.com>
      f1c18071
  3. 09 Dec, 2010 1 commit
  4. 08 Dec, 2010 7 commits
  5. 07 Dec, 2010 17 commits
  6. 06 Dec, 2010 8 commits
    • Linus Torvalds's avatar
      Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · 7787d2c2
      Linus Torvalds authored
      * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
        PM / Hibernate: Fix memory corruption related to swap
        PM / Hibernate: Use async I/O when reading compressed hibernation image
      7787d2c2
    • Rafael J. Wysocki's avatar
      PM / Hibernate: Fix memory corruption related to swap · c9e664f1
      Rafael J. Wysocki authored
      There is a problem that swap pages allocated before the creation of
      a hibernation image can be released and used for storing the contents
      of different memory pages while the image is being saved.  Since the
      kernel stored in the image doesn't know of that, it causes memory
      corruption to occur after resume from hibernation, especially on
      systems with relatively small RAM that need to swap often.
      
      This issue can be addressed by keeping the GFP_IOFS bits clear
      in gfp_allowed_mask during the entire hibernation, including the
      saving of the image, until the system is finally turned off or
      the hibernation is aborted.  Unfortunately, for this purpose
      it's necessary to rework the way in which the hibernate and
      suspend code manipulates gfp_allowed_mask.
      
      This change is based on an earlier patch from Hugh Dickins.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Reported-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Reviewed-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: stable@kernel.org
      c9e664f1
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 60658f8a
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: 6524/1: GIC irq desciptor bug fix
        ARM: 6523/1: iop: ensure sched_clock() is notrace
        ARM: 6456/1: Fix for building DEBUG with sa11xx_base.c as a module.
        ARM: 6519/1: kuser: Fix incorrect cmpxchg syscall in kuser helpers
        ARM: 6505/1: kprobes: Don't HAVE_KPROBES when CONFIG_THUMB2_KERNEL is selected
        ARM: 6508/1: vexpress: Correct data alignment in headsmp.S for CONFIG_THUMB2_KERNEL
        ARM: 6507/1: RealView: Correct data alignment in headsmp.S for CONFIG_THUMB2_KERNEL
        ARM: 6504/1: Thumb-2: Fix long-distance conditional branches in head.S for Thumb-2.
        ARM: 6503/1: Thumb-2: Restore sensible zImage header layout for CONFIG_THUMB2_KERNEL
        ARM: 6502/1: Thumb-2: Fix CONFIG_THUMB2_KERNEL breakage in compressed/head.S
        ARM: 6501/1: Thumb-2: Correct data alignment for CONFIG_THUMB2_KERNEL in mm/proc-v7.S
        ARM: 6500/1: Thumb-2: Correct data alignment for CONFIG_THUMB2_KERNEL in kernel/head.S
        ARM: 6499/1: Thumb-2: Correct data alignment for CONFIG_THUMB2_KERNEL in bootp/init.S
        ARM: 6498/1: vfp: Correct data alignment for CONFIG_THUMB2_KERNEL
        ARM: 6497/1: kexec: Correct data alignment for CONFIG_THUMB2_KERNEL
        ARM: 6496/1: GIC: Do not try to register more then NR_IRQS interrupts
        ARM: cns3xxx: Fix build with CONFIG_PCI=y
      60658f8a
    • Bojan Smojver's avatar
      PM / Hibernate: Use async I/O when reading compressed hibernation image · 9f339caf
      Bojan Smojver authored
      This is a fix for reading LZO compressed image using async I/O.
      Essentially, instead of having just one page into which we keep
      reading blocks from swap, we allocate enough of them to cover the
      largest compressed size and then let block I/O pick them all up. Once
      we have them all (and here we wait), we decompress them, as usual.
      Obviously, the very first block we still pick up synchronously,
      because we need to know the size of the lot before we pick up the
      rest.
      
      Also fixed the copyright line, which I've forgotten before.
      Signed-off-by: default avatarBojan Smojver <bojan@rexursive.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      9f339caf
    • Thadeu Lima de Souza Cascardo's avatar
      wmi: use memcmp instead of strncmp to compare GUIDs · 8b14d7b2
      Thadeu Lima de Souza Cascardo authored
      While looking for the duplicates in /sys/class/wmi/, I couldn't find
      them. The code that looks for duplicates uses strncmp in a binary GUID,
      which may contain zero bytes. The right function is memcmp, which is
      also used in another section of wmi code.
      
      It was finding 49142400-C6A3-40FA-BADB-8A2652834100 as a duplicate of
      39142400-C6A3-40FA-BADB-8A2652834100. Since the first byte is the fourth
      printed, they were found as equal by strncmp.
      Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Cc: stable@kernel.org
      8b14d7b2
    • Arnaldo Carvalho de Melo's avatar
      perf record: Fix eternal wait for stillborn child · 18483b81
      Arnaldo Carvalho de Melo authored
      When execvp fails to find the specified command on the path we won't get
      SIGCHLD, so send a SIGUSR1 and exit right away.
      
      Current situation would require a SIGINT performed by the user and would
      produce meaningless summary.
      
      Now:
      
      [acme@emilia linux]$ ./foo
      -bash: ./foo: No such file or directory
      [acme@emilia linux]$ perf record ./foo
      ./foo: No such file or directory
      [acme@emilia linux]$
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      18483b81
    • Russell King's avatar
    • Chao Xie's avatar
      ARM: 6524/1: GIC irq desciptor bug fix · 87507500
      Chao Xie authored
      gic_set_cpu will directly use irq_desc[]. If CONFIG_SPARSE_IRQ is
      enabled, there is no irq_desc[]. So we need use irq_to_desc(irq) to
      get the descriptor for irq.
      Signed-off-by: default avatarChao Xie <chao.xie@marvell.com>
      Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      87507500