1. 11 9月, 2009 2 次提交
    • I
      sched: Fix sched::sched_stat_wait tracepoint field · e1f84508
      Ingo Molnar 提交于
      This weird perf trace output:
      
        cc1-9943  [001]  2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns]
      
      Is caused by setting one component field of the delta to zero
      a bit too early. Move it to later.
      
      ( Note, this does not affect the NEW_FAIR_SLEEPERS interactivity bug,
        it's just a reporting bug in essence. )
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Nikos Chantziaras <realnc@arcor.de>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <4AA93D34.8040500@arcor.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e1f84508
    • I
      sched: Disable NEW_FAIR_SLEEPERS for now · 3f2aa307
      Ingo Molnar 提交于
      Nikos Chantziaras and Jens Axboe reported that turning off
      NEW_FAIR_SLEEPERS improves desktop interactivity visibly.
      
      Nikos described his experiences the following way:
      
        " With this setting, I can do "nice -n 19 make -j20" and
          still have a very smooth desktop and watch a movie at
          the same time.  Various other annoyances (like the
          "logout/shutdown/restart" dialog of KDE not appearing
          at all until the background fade-out effect has finished)
          are also gone.  So this seems to be the single most
          important setting that vastly improves desktop behavior,
          at least here. "
      
      Jens described it the following way, referring to a 10-seconds
      xmodmap scheduling delay he was trying to debug:
      
        " Then I tried switching NO_NEW_FAIR_SLEEPERS on, and then
          I get:
      
          Performance counter stats for 'xmodmap .xmodmap-carl':
      
               9.009137  task-clock-msecs         #      0.447 CPUs
                     18  context-switches         #      0.002 M/sec
                      1  CPU-migrations           #      0.000 M/sec
                    315  page-faults              #      0.035 M/sec
      
          0.020167093  seconds time elapsed
      
          Woot! "
      
      So disable it for now. In perf trace output i can see weird
      delta timestamps:
      
        cc1-9943  [001]  2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns]
      
      That nsec field is not supposed to be that large. More digging
      is needed - but lets turn it off while the real bug is found.
      Reported-by: NNikos Chantziaras <realnc@arcor.de>
      Tested-by: NNikos Chantziaras <realnc@arcor.de>
      Reported-by: NJens Axboe <jens.axboe@oracle.com>
      Tested-by: NJens Axboe <jens.axboe@oracle.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <4AA93D34.8040500@arcor.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3f2aa307
  2. 09 9月, 2009 3 次提交
  3. 08 9月, 2009 4 次提交
  4. 04 9月, 2009 13 次提交
  5. 02 9月, 2009 3 次提交
  6. 29 8月, 2009 1 次提交
  7. 28 8月, 2009 10 次提交
  8. 27 8月, 2009 4 次提交
    • T
      init: Move sched_clock_init after late_time_init · fa84e9ee
      Thomas Gleixner 提交于
      Some architectures initialize clocks and timers in late_time_init and
      x86 wants to do the same to avoid FIXMAP hackery for calibrating the
      TSC. That would result in undefined sched_clock readout and wreckaged
      printk timestamps again. We probably have those already on archs which
      do all their time/clock setup in late_time_init.
      
      There is no harm to move that after late_time_init except that a few
      more boot timestamps are stale. The scheduler is not active at that
      point so no real wreckage is expected.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <new-submission>
      Cc: linux-arch@vger.kernel.org
      fa84e9ee
    • E
      inotify: Ensure we alwasy write the terminating NULL. · 0db501bd
      Eric W. Biederman 提交于
      Before the rewrite copy_event_to_user always wrote a terqminating '\0'
      byte to user space after the filename.  Since the rewrite that
      terminating byte was skipped if your filename is exactly a multiple of
      event_size.  Ouch!
      
      So add one byte to name_size before we round up and use clear_user to
      set userspace to zero like /dev/zero does instead of copying the
      strange nul_inotify_event.  I can't quite convince myself len_to_zero
      will never exceed 16 and even if it doesn't clear_user should be more
      efficient and a more accurate reflection of what the code is trying to
      do.
      Signed-off-by: NEric W. Biederman <ebiederm@aristanetworks.com>
      Signed-off-by: NEric Paris <eparis@redhat.com>
      0db501bd
    • E
      inotify: fix locking around inotify watching in the idr · dead537d
      Eric Paris 提交于
      The are races around the idr storage of inotify watches.  It's possible
      that a watch could be found from sys_inotify_rm_watch() in the idr, but it
      could be removed from the idr before that code does it's removal.  Move the
      locking and the refcnt'ing so that these have to happen atomically.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      dead537d
    • E
      inotify: do not BUG on idr entries at inotify destruction · cf437426
      Eric Paris 提交于
      If an inotify watch is left in the idr when an fsnotify group is destroyed
      this will lead to a BUG.  This is not a dangerous situation and really
      indicates a programming bug and leak of memory.  This patch changes it to
      use a WARN and a printk rather than killing people's boxes.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      cf437426