1. 27 Aug, 2008 2 commits
    • Steven Rostedt's avatar
      ftrace: disable tracing for suspend to ram · f42ac38c
      Steven Rostedt authored
      I've been painstakingly debugging the issue with suspend to ram and
      ftraced. The 2.6.28 code does not have this issue, but since the mcount
      recording is not going to be in 27, this must be solved for the ftrace
      daemon version.
      
      The resume from suspend to ram would reboot because it was triple
      faulting. Debugging further, I found that calling the mcount function
      itself was not an issue, but it would fault when it incremented
      preempt_count. preempt_count is on the tasks info structure that is on the
      low memory address of the task's stack.  For some reason, it could not
      write to it. Resuming out of suspend to ram does quite a lot of funny
      tricks to get to work, so it is not surprising at all that simply doing a
      preempt_disable() would cause a fault.
      
      Thanks to Rafael for suggesting to add a "while (1);" to find the place in
      resuming that is causing the fault. I would place the loop somewhere in
      the code, compile and reboot and see if it would either reboot (hit the
      fault) or simply hang (hit the loop).  Doing this over and over again, I
      narrowed it down that it was happening in enable_nonboot_cpus.
      
      At this point, I found that it is easier to simply disable tracing around
      the suspend code, instead of searching for the particular function that
      can not handle doing a preempt_disable.
      
      This patch disables the tracer as it suspends and reenables it on resume.
      
      I tested this patch on my Laptop, and it can resume fine with the patch.
      Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
      Acked-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f42ac38c
    • Linus Torvalds's avatar
      Revert "pktcdvd: push BKL down into driver" · 8560c650
      Linus Torvalds authored
      This reverts commit 5b6155ee, because
      the block device ioctl's really aren't ready for it.
      
      In particular, the "struct file *" and the "struct inode *" arguments do
      not necessarily match, which means that the unlocked version of the
      ioctl (that only gets a "struct file *") isn't actually able to handle
      the cases it needs to handle.
      
      This fixes bugzilla
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=11401Reported-and-bisected-by: default avatarLaurent Riffard <laurent.riffard@free.fr>
      Acked-by: default avatarPeter Osterlund <petero2@telia.com>
      Cc: Alan Cox <alan@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8560c650
  2. 26 Aug, 2008 29 commits
  3. 25 Aug, 2008 9 commits