1. 20 10月, 2007 1 次提交
    • P
      pid namespaces: changes to show virtual ids to user · b488893a
      Pavel Emelyanov 提交于
      This is the largest patch in the set. Make all (I hope) the places where
      the pid is shown to or get from user operate on the virtual pids.
      
      The idea is:
       - all in-kernel data structures must store either struct pid itself
         or the pid's global nr, obtained with pid_nr() call;
       - when seeking the task from kernel code with the stored id one
         should use find_task_by_pid() call that works with global pids;
       - when showing pid's numerical value to the user the virtual one
         should be used, but however when one shows task's pid outside this
         task's namespace the global one is to be used;
       - when getting the pid from userspace one need to consider this as
         the virtual one and use appropriate task/pid-searching functions.
      
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: nuther build fix]
      [akpm@linux-foundation.org: yet nuther build fix]
      [akpm@linux-foundation.org: remove unneeded casts]
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: NAlexey Dobriyan <adobriyan@openvz.org>
      Cc: Sukadev Bhattiprolu <sukadev@us.ibm.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Paul Menage <menage@google.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b488893a
  2. 13 2月, 2007 1 次提交
  3. 12 10月, 2006 1 次提交
    • V
      [PATCH] block layer: ioprio_best function fix · d58cdfb8
      Vasily Tarasov 提交于
      Currently ioprio_best function first checks wethere aioprio or bioprio equals
      IOPRIO_CLASS_NONE (ioprio_valid() macros does that) and if it is so it returns
      bioprio/aioprio appropriately. Thus the next four lines, that set aclass/bclass
      to IOPRIO_CLASS_BE, if aclass/bclass == IOPRIO_CLASS_NONE, are never executed.
      
      The second problem: if aioprio from class IOPRIO_CLASS_NONE and bioprio from
      class IOPRIO_CLASS_IDLE are passed to ioprio_best function, it will return
      IOPRIO_CLASS_IDLE. It means that during __make_request we can merge two
      requests and set the priority of merged request to IDLE, while one of
      the initial requests originates from a process with NONE (default) priority.
      So we can get a situation when a process with default ioprio will experience
      IO starvation, while there is no process from real-time class in the system.
      
      Just removing ioprio_valid check should correct situation.
      Signed-off-by: NVasily Tarasov <vtaras@openvz.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      d58cdfb8
  4. 01 10月, 2006 3 次提交
  5. 21 8月, 2006 3 次提交
  6. 01 7月, 2006 1 次提交
  7. 23 6月, 2006 1 次提交
  8. 12 1月, 2006 1 次提交
  9. 08 11月, 2005 1 次提交
  10. 21 8月, 2005 1 次提交
  11. 08 7月, 2005 1 次提交
  12. 28 6月, 2005 1 次提交
    • J
      [PATCH] Update cfq io scheduler to time sliced design · 22e2c507
      Jens Axboe 提交于
      This updates the CFQ io scheduler to the new time sliced design (cfq
      v3).  It provides full process fairness, while giving excellent
      aggregate system throughput even for many competing processes.  It
      supports io priorities, either inherited from the cpu nice value or set
      directly with the ioprio_get/set syscalls.  The latter closely mimic
      set/getpriority.
      
      This import is based on my latest from -mm.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      22e2c507