1. 13 12月, 2005 4 次提交
  2. 30 11月, 2005 2 次提交
  3. 29 11月, 2005 5 次提交
  4. 24 11月, 2005 3 次提交
  5. 23 11月, 2005 1 次提交
  6. 18 11月, 2005 1 次提交
  7. 14 11月, 2005 11 次提交
  8. 11 11月, 2005 2 次提交
  9. 10 11月, 2005 2 次提交
  10. 09 11月, 2005 9 次提交
    • N
      [PATCH] sched: resched and cpu_idle rework · 64c7c8f8
      Nick Piggin 提交于
      Make some changes to the NEED_RESCHED and POLLING_NRFLAG to reduce
      confusion, and make their semantics rigid.  Improves efficiency of
      resched_task and some cpu_idle routines.
      
      * In resched_task:
      - TIF_NEED_RESCHED is only cleared with the task's runqueue lock held,
        and as we hold it during resched_task, then there is no need for an
        atomic test and set there. The only other time this should be set is
        when the task's quantum expires, in the timer interrupt - this is
        protected against because the rq lock is irq-safe.
      
      - If TIF_NEED_RESCHED is set, then we don't need to do anything. It
        won't get unset until the task get's schedule()d off.
      
      - If we are running on the same CPU as the task we resched, then set
        TIF_NEED_RESCHED and no further action is required.
      
      - If we are running on another CPU, and TIF_POLLING_NRFLAG is *not* set
        after TIF_NEED_RESCHED has been set, then we need to send an IPI.
      
      Using these rules, we are able to remove the test and set operation in
      resched_task, and make clear the previously vague semantics of
      POLLING_NRFLAG.
      
      * In idle routines:
      - Enter cpu_idle with preempt disabled. When the need_resched() condition
        becomes true, explicitly call schedule(). This makes things a bit clearer
        (IMO), but haven't updated all architectures yet.
      
      - Many do a test and clear of TIF_NEED_RESCHED for some reason. According
        to the resched_task rules, this isn't needed (and actually breaks the
        assumption that TIF_NEED_RESCHED is only cleared with the runqueue lock
        held). So remove that. Generally one less locked memory op when switching
        to the idle thread.
      
      - Many idle routines clear TIF_POLLING_NRFLAG, and only set it in the inner
        most polling idle loops. The above resched_task semantics allow it to be
        set until before the last time need_resched() is checked before going into
        a halt requiring interrupt wakeup.
      
        Many idle routines simply never enter such a halt, and so POLLING_NRFLAG
        can be always left set, completely eliminating resched IPIs when rescheduling
        the idle task.
      
        POLLING_NRFLAG width can be increased, to reduce the chance of resched IPIs.
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Con Kolivas <kernel@kolivas.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      64c7c8f8
    • C
      [PATCH] sched: consider migration thread with smp nice · ede3d0fb
      Con Kolivas 提交于
      The intermittent scheduling of the migration thread at ultra high priority
      makes the smp nice handling see that runqueue as being heavily loaded.  The
      migration thread itself actually handles the balancing so its influence on
      priority balancing should be ignored.
      Signed-off-by: NCon Kolivas <kernel@kolivas.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ede3d0fb
    • C
      [PATCH] sched: correct smp_nice_bias · 6dd4a85b
      Con Kolivas 提交于
      The priority biasing was off by mutliplying the total load by the total
      priority bias and this ruins the ratio of loads between runqueues. This
      patch should correct the ratios of loads between runqueues to be proportional
      to overall load. -2nd attempt.
      
      From: Dave Kleikamp <shaggy@austin.ibm.com>
      
        This patch fixes a divide-by-zero error that I hit on a two-way i386
        machine.  rq->nr_running is tested to be non-zero, but may change by the
        time it is used in the division.  Saving the value to a local variable
        ensures that the same value that is checked is used in the division.
      Signed-off-by: NCon Kolivas <kernel@kolivas.org>
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6dd4a85b
    • C
      [PATCH] sched: smp nice bias busy queues on idle rebalance · 3b0bd9bc
      Con Kolivas 提交于
      To intensify the 'nice' support across physical cpus on SMP we can bias the
      loads on idle rebalancing. To prevent idle rebalance from trying to pull tasks
      from queues that appear heavily loaded we only bias the load if there is more
      than one task running.
      
      Add some minor micro-optimisations and have only one return from __source_load
      and __target_load functions.
      
      Fix the fact that target_load was not biased by priority when type == 0.
      Signed-off-by: NCon Kolivas <kernel@kolivas.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3b0bd9bc
    • C
      [PATCH] sched: account rt tasks in prio_bias() · dad1c65c
      Con Kolivas 提交于
      Real time tasks' effect on prio_bias should be based on their real time
      priority level instead of their static_prio which is based on nice.
      Signed-off-by: NCon Kolivas <kernel@kolivas.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dad1c65c
    • C
      [PATCH] sched: change prio bias only if queued · 738a2ccb
      Con Kolivas 提交于
      prio_bias should only be adjusted in set_user_nice if p is actually currently
      queued.
      Signed-off-by: NCon Kolivas <kernel@kolivas.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      738a2ccb
    • C
      [PATCH] sched: implement nice support across physical cpus on SMP · b910472d
      Con Kolivas 提交于
      This patch implements 'nice' support across physical cpus on SMP.
      
      It introduces an extra runqueue variable prio_bias which is the sum of the
      (inverted) static priorities of all the tasks on the runqueue.
      
      This is then used to bias busy rebalancing between runqueues to obtain good
      distribution of tasks of different nice values.  By biasing the balancing only
      during busy rebalancing we can avoid having any significant loss of throughput
      by not affecting the carefully tuned idle balancing already in place.  If all
      tasks are running at the same nice level this code should also have minimal
      effect.  The code is optimised out in the !CONFIG_SMP case.
      Signed-off-by: NCon Kolivas <kernel@kolivas.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b910472d
    • R
      [PATCH] swsusp: rework swsusp_suspend · 0fbeb5a4
      Rafael J. Wysocki 提交于
      This patch makes only the functions in swsusp.c call functions in snapshot.c
      and not both ways.  It also moves the check for available swap out of
      swsusp_suspend() which is necessary for separating the swap-handling functions
      in swsusp from the core code.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0fbeb5a4
    • R
      [PATCH] swsusp: simplify pagedir relocation · ed14b527
      Rafael J. Wysocki 提交于
      This patch simplifies the relocation of the page backup list (aka pagedir)
      during resume.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ed14b527