1. 31 Oct, 2011 1 commit
    • Paul Gortmaker's avatar
      kernel: Map most files to use export.h instead of module.h · 9984de1a
      Paul Gortmaker authored
      
      The changed files were only including linux/module.h for the
      EXPORT_SYMBOL infrastructure, and nothing else.  Revector them
      onto the isolated export header for faster compile times.
      
      Nothing to see here but a whole lot of instances of:
      
        -#include <linux/module.h>
        +#include <linux/export.h>
      
      This commit is only changing the kernel dir; next targets
      will probably be mm, fs, the arch dirs, etc.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      9984de1a
  2. 24 May, 2011 1 commit
    • Eric Dumazet's avatar
      posix-timers: RCU conversion · 8af08871
      Eric Dumazet authored
      Ben Nagy reported a scalability problem with KVM/QEMU that hit very hard
      a single spinlock (idr_lock) in posix-timers code, on its 48 core
      machine.
      
      Even on a 16 cpu machine (2x4x2), a single test can show 98% of cpu time
      used in ticket_spin_lock, from lock_timer
      
      Ref: http://www.spinics.net/lists/kvm/msg51526.html
      
      
      
      Switching to RCU is quite easy, IDR being already RCU ready. idr_lock
      should be locked only for an insert/delete, not a lookup.
      
      Benchmark on a 2x4x2 machine, 16 processes calling timer_gettime().
      
      Before :
      
      real    1m18.669s
      user    0m1.346s
      sys     1m17.180s
      
      After :
      
      real    0m3.296s
      user    0m1.366s
      sys     0m1.926s
      Reported-by: default avatarBen Nagy <ben@iagu.net>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Tested-by: default avatarBen Nagy <ben@iagu.net>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Avi Kivity <avi@redhat.com>
      Cc: John Stultz <johnstul@us.ibm.com>
      Cc: Richard Cochran <richard.cochran@omicron.at>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      8af08871
  3. 23 May, 2011 1 commit
  4. 31 Mar, 2011 1 commit
  5. 21 Feb, 2011 1 commit
  6. 02 Feb, 2011 22 commits
  7. 21 Oct, 2010 1 commit
  8. 23 Jul, 2010 1 commit
  9. 27 May, 2010 1 commit
  10. 05 Feb, 2010 1 commit
  11. 21 Aug, 2009 1 commit
    • john stultz's avatar
      time: Introduce CLOCK_REALTIME_COARSE · da15cfda
      john stultz authored
      
      After talking with some application writers who want very fast, but not
      fine-grained timestamps, I decided to try to implement new clock_ids
      to clock_gettime(): CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE
      which returns the time at the last tick. This is very fast as we don't
      have to access any hardware (which can be very painful if you're using
      something like the acpi_pm clocksource), and we can even use the vdso
      clock_gettime() method to avoid the syscall. The only trade off is you
      only get low-res tick grained time resolution.
      
      This isn't a new idea, I know Ingo has a patch in the -rt tree that made
      the vsyscall gettimeofday() return coarse grained time when the
      vsyscall64 sysctrl was set to 2. However this affects all applications
      on a system.
      
      With this method, applications can choose the proper speed/granularity
      trade-off for themselves.
      Signed-off-by: default avatarJohn Stultz <johnstul@us.ibm.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: nikolag@ca.ibm.com
      Cc: Darren Hart <dvhltc@us.ibm.com>
      Cc: arjan@infradead.org
      Cc: jonathan@jonmasters.org
      LKML-Reference: <1250734414.6897.5.camel@localhost.localdomain>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      da15cfda
  12. 04 Aug, 2009 1 commit
  13. 14 Jan, 2009 1 commit
  14. 20 Dec, 2008 1 commit
  15. 12 Dec, 2008 2 commits
    • Oleg Nesterov's avatar
      posix-timers: check ->it_signal instead of ->it_pid to validate the timer · 89992102
      Oleg Nesterov authored
      
      Impact: clean up, speed up
      
      ->it_pid (was ->it_process) has also a special meaning: if it is NULL,
      the timer is under deletion or it wasn't initialized yet. We can check
      ->it_signal != NULL instead, this way we can
      
      	- simplify sys_timer_create() a bit
      
      	- remove yet another check from lock_timer()
      
      	- move put_pid(->it_pid) into release_posix_timer() which
      	  runs outside of ->it_lock
      Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      89992102
    • Oleg Nesterov's avatar
      posix-timers: use "struct pid*" instead of "struct task_struct*" · 27af4245
      Oleg Nesterov authored
      
      Impact: restructure, clean up code
      
      k_itimer holds the ref to the ->it_process until sys_timer_delete(). This
      allows to pin up to RLIMIT_SIGPENDING dead task_struct's. Change the code
      to use "struct pid *" instead.
      
      The patch doesn't kill ->it_process, it places ->it_pid into the union.
      ->it_process is still used by do_cpu_nanosleep() as before. It would be
      trivial to change the nanosleep code as well, but since it uses it_process
      in a special way I think it is better to keep this field for grep.
      
      The patch bloats the kernel by 104 bytes and it also adds the new pointer,
      ->it_signal, to k_itimer. It is used by lock_timer() to verify that the
      found timer was not created by another process. It is not clear why do we
      use the global database (and thus the global idr_lock) for posix timers.
      We still need the signal_struct->posix_timers which contains all useable
      timers, perhaps it is better to use some form of per-process array
      instead.
      Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      27af4245
  16. 02 Oct, 2008 1 commit
  17. 24 Sep, 2008 2 commits