safe/jmp/linux-2.6
16 years agosched: round a bit better
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: round a bit better

round a tiny bit better in high-frequency rescheduling scenarios,
by rounding around zero instead of rounding down.

(this is pretty theoretical though)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: make the multiplication table more accurate
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: make the multiplication table more accurate

do small deltas in the weight and multiplication constant table so
that the worst-case numeric error is better than 1:100000000. (8 digits)

the current error table is:

     nice       mult *   inv_mult   error
     ------------------------------------------
     -20:      88761 *      48388  -0.0000000065
     -19:      71755 *      59856  -0.0000000037
     -18:      56483 *      76040   0.0000000056
     -17:      46273 *      92818   0.0000000042
     -16:      36291 *     118348  -0.0000000065
     -15:      29154 *     147320  -0.0000000037
     -14:      23254 *     184698  -0.0000000009
     -13:      18705 *     229616  -0.0000000037
     -12:      14949 *     287308  -0.0000000009
     -11:      11916 *     360437  -0.0000000009
     -10:       9548 *     449829  -0.0000000009
      -9:       7620 *     563644  -0.0000000037
      -8:       6100 *     704093   0.0000000009
      -7:       4904 *     875809   0.0000000093
      -6:       3906 *    1099582  -0.0000000009
      -5:       3121 *    1376151  -0.0000000058
      -4:       2501 *    1717300   0.0000000009
      -3:       1991 *    2157191  -0.0000000035
      -2:       1586 *    2708050   0.0000000009
      -1:       1277 *    3363326   0.0000000014
       0:       1024 *    4194304   0.0000000000
       1:        820 *    5237765   0.0000000009
       2:        655 *    6557202   0.0000000033
       3:        526 *    8165337  -0.0000000079
       4:        423 *   10153587   0.0000000012
       5:        335 *   12820798   0.0000000079
       6:        272 *   15790321   0.0000000037
       7:        215 *   19976592  -0.0000000037
       8:        172 *   24970740  -0.0000000037
       9:        137 *   31350126  -0.0000000079
      10:        110 *   39045157  -0.0000000061
      11:         87 *   49367440  -0.0000000037
      12:         70 *   61356676   0.0000000056
      13:         56 *   76695844  -0.0000000075
      14:         45 *   95443717  -0.0000000072
      15:         36 *  119304647  -0.0000000009
      16:         29 *  148102320  -0.0000000037
      17:         23 *  186737708  -0.0000000028
      18:         18 *  238609294  -0.0000000009
      19:         15 *  286331153  -0.0000000002

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: optimize update_rq_clock() calls in the load-balancer
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: optimize update_rq_clock() calls in the load-balancer

optimize update_rq_clock() calls in the load-balancer: update them
right after locking the runqueue(s) so that the pull functions do
not have to call it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: optimize activate_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: optimize activate_task()

optimize activate_task() by removing update_rq_clock() from it.
(and add update_rq_clock() to all callsites of activate_task() that
did not have it before.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: clean up set_curr_task_fair()
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: clean up set_curr_task_fair()

clean up set_curr_task_fair().

( identity transformation that causes no change in functionality. )

   text    data     bss     dec     hex filename
  39170    3750      36   42956    a7cc sched.o.before
  39170    3750      36   42956    a7cc sched.o.after

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove __update_rq_clock() call from entity_tick()
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: remove __update_rq_clock() call from entity_tick()

remove __update_rq_clock() call from entity_tick().

no change in functionality because scheduler_tick() already calls
__update_rq_clock().

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: move the __update_rq_clock() call to scheduler_tick()
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: move the __update_rq_clock() call to scheduler_tick()

move the __update_rq_clock() call from update_cpu_load() to
scheduler_tick().

( identity transformation that causes no change in functionality. )

this allows the direct use of rq->clock in ->task_tick() functions.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched debug: remove the 'u64 now' parameter from print_task()/_rq()
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched debug: remove the 'u64 now' parameter from print_task()/_rq()

remove the 'u64 now' parameter from sched_debug.c:print_task()/_rq().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' local variables
Ingo Molnar [Thu, 9 Aug 2007 09:16:51 +0000 (11:16 +0200)]
sched: remove the 'u64 now' local variables

final step: remove all (now superfluous) 'u64 now' variables.

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from deactivate_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from deactivate_task()

remove the 'u64 now' parameter from deactivate_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from dequeue_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from dequeue_task()

remove the 'u64 now' parameter from dequeue_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from enqueue_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from enqueue_task()

remove the 'u64 now' parameter from enqueue_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from dec_nr_running()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from dec_nr_running()

remove the 'u64 now' parameter from dec_nr_running().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from inc_nr_running()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from inc_nr_running()

remove the 'u64 now' parameter from inc_nr_running().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from dec_load()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from dec_load()

remove the 'u64 now' parameter from dec_load().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from inc_load()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from inc_load()

remove the 'u64 now' parameter from inc_load().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_curr_load()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_curr_load()

remove the 'u64 now' parameter from update_curr_load().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from ->task_new()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from ->task_new()

remove the 'u64 now' parameter from ->task_new().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from ->put_prev_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from ->put_prev_task()

remove the 'u64 now' parameter from ->put_prev_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from pick_next_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:49 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from pick_next_task()

remove the 'u64 now' parameter from pick_next_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from ->pick_next_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from ->pick_next_task()

remove the 'u64 now' parameter from ->pick_next_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from ->dequeue_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from ->dequeue_task()

remove the 'u64 now' parameter from ->dequeue_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from ->enqueue_task()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from ->enqueue_task()

remove the 'u64 now' parameter from ->enqueue_task().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_curr_rt()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_curr_rt()

remove the 'u64 now' parameter from update_curr_rt().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from put_prev_entity()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from put_prev_entity()

remove the 'u64 now' parameter from put_prev_entity().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from pick_next_entity()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from pick_next_entity()

remove the 'u64 now' parameter from pick_next_entity().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from set_next_entity()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from set_next_entity()

remove the 'u64 now' parameter from set_next_entity().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from dequeue_entity()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from dequeue_entity()

remove the 'u64 now' parameter from dequeue_entity().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from enqueue_entity()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from enqueue_entity()

remove the 'u64 now' parameter from enqueue_entity().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from enqueue_sleeper()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from enqueue_sleeper()

remove the 'u64 now' parameter from enqueue_sleeper().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from __enqueue_sleeper()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from __enqueue_sleeper()

remove the 'u64 now' parameter from __enqueue_sleeper().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_stats_curr_end()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_stats_curr_end()

remove the 'u64 now' parameter from update_stats_curr_end().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_stats_dequeue()
Ingo Molnar [Thu, 9 Aug 2007 09:16:48 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_stats_dequeue()

remove the 'u64 now' parameter from update_stats_dequeue().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_stats_curr_start()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_stats_curr_start()

remove the 'u64 now' parameter from update_stats_curr_start().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_stats_wait_end()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_stats_wait_end()

remove the 'u64 now' parameter from update_stats_wait_end().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from __update_stats_wait_end()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from __update_stats_wait_end()

remove the 'u64 now' parameter from __update_stats_wait_end().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_stats_enqueue()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_stats_enqueue()

remove the 'u64 now' parameter from update_stats_enqueue().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_stats_wait_start()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_stats_wait_start()

remove the 'u64 now' parameter from update_stats_wait_start().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from update_curr()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from update_curr()

remove the 'u64 now' parameter from update_curr().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove the 'u64 now' parameter from print_cfs_rq()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove the 'u64 now' parameter from print_cfs_rq()

remove the 'u64 now' parameter from print_cfs_rq().

( identity transformation that causes no change in functionality. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove 'now' use from assignments
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove 'now' use from assignments

change all 'now' timestamp uses in assignments to rq->clock.

( this is an identity transformation that causes no functionality change:
  all such new rq->clock is necessarily preceded by an update_rq_clock()
  call. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove __rq_clock()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove __rq_clock()

remove the (now unused) __rq_clock() function.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: eliminate __rq_clock() use
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: eliminate __rq_clock() use

eliminate __rq_clock() use by changing it to:

   __update_rq_clock(rq)
   now = rq->clock;

identity transformation - no change in behavior.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove rq_clock()
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: remove rq_clock()

remove the now unused rq_clock() function.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: eliminate rq_clock() use
Ingo Molnar [Thu, 9 Aug 2007 09:16:47 +0000 (11:16 +0200)]
sched: eliminate rq_clock() use

eliminate rq_clock() use by changing it to:

   update_rq_clock(rq)
   now = rq->clock;

identity transformation - no change in behavior.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: add [__]update_rq_clock(rq)
Ingo Molnar [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: add [__]update_rq_clock(rq)

add the [__]update_rq_clock(rq) functions. (No change in functionality,
just reorganization to prepare for elimination of the heavy 64-bit
timestamp-passing in the scheduler.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: fix bug in balance_tasks()
Peter Williams [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: fix bug in balance_tasks()

There are two problems with balance_tasks() and how it used:

1. The variables best_prio and best_prio_seen (inherited from the old
move_tasks()) were only required to handle problems caused by the
active/expired arrays, the order in which they were processed and the
possibility that the task with the highest priority could be on either.
  These issues are no longer present and the extra overhead associated
with their use is unnecessary (and possibly wrong).

2. In the absence of CONFIG_FAIR_GROUP_SCHED being set, the same
this_best_prio variable needs to be used by all scheduling classes or
there is a risk of moving too much load.  E.g. if the highest priority
task on this at the beginning is a fairly low priority task and the rt
class migrates a task (during its turn) then that moved task becomes the
new highest priority task on this_rq but when the sched_fair class
initializes its copy of this_best_prio it will get the priority of the
original highest priority task as, due to the run queue locks being
held, the reschedule triggered by pull_task() will not have taken place.
  This could result in inappropriate overriding of skip_for_load and
excessive load being moved.

The attached patch addresses these problems by deleting all reference to
best_prio and best_prio_seen and making this_best_prio a reference
parameter to the various functions involved.

load_balance_fair() has also been modified so that this_best_prio is
only reset (in the loop) if CONFIG_FAIR_GROUP_SCHED is set.  This should
preserve the effect of helping spread groups' higher priority tasks
around the available CPUs while improving system performance when
CONFIG_FAIR_GROUP_SCHED isn't set.

Signed-off-by: Peter Williams <pwil3058@bigpond.net.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: document nice levels
Ingo Molnar [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: document nice levels

Document the design thinking behind nice levels.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: remove binary sysctls from kernel.sched_domain
Alexey Dobriyan [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: remove binary sysctls from kernel.sched_domain

kernel.sched_domain hierarchy is under CTL_UNNUMBERED and thus
unreachable to sysctl(2). Generating .ctl_number's in such situation is
not useful.

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: delta_exec accounting fix
Ingo Molnar [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: delta_exec accounting fix

small delta_exec accounting fix: increase delta_exec and increase
sum_exec_runtime even if the task is not on the runqueue anymore.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: clean up delta_mine
Ingo Molnar [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: clean up delta_mine

cleanup: delta_mine is an unsigned value.

no code impact:

   text    data     bss     dec     hex filename
   27823    2726      16   30565    7765 sched.o.before
   27823    2726      16   30565    7765 sched.o.after

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: schedule() speedup
Ingo Molnar [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: schedule() speedup

speed up schedule(): share the 'now' parameter that deactivate_task()
was calculating internally.

( this also fixes the small accounting window between the deactivate
  call and the pick_next_task() call. )

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: uninline rq_clock()
Ingo Molnar [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: uninline rq_clock()

uninline rq_clock() to save 263 bytes of code:

   text    data     bss     dec     hex filename
   39561    3642      24   43227    a8db sched.o.before
   39298    3642      24   42964    a7d4 sched.o.after

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: mark print_cfs_stats static
Josh Triplett [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: mark print_cfs_stats static

sched_fair.c defines print_cfs_stats, and sched_debug.c uses it, but sched.c
includes both sched_fair.c and sched_debug.c, so all the references to
print_cfs_stats occur in the same compilation unit.  Thus, mark
print_cfs_stats static.

Eliminates a sparse warning:
warning: symbol 'print_cfs_stats' was not declared. Should it be static?

Signed-off-by: Josh Triplett <josh@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: clean up sched_getaffinity()
Ulrich Drepper [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: clean up sched_getaffinity()

here's another tiny cleanup.  The generated code is not affected (gcc is
smart enough) but for people looking over the code it is just irritating
to have the extra conditional.

Signed-off-by: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: mention CONFIG_SCHED_DEBUG in documentation
Thomas Voegtle [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: mention CONFIG_SCHED_DEBUG in documentation

a little hint to switch on CONFIG_SCHED_DEBUG should be given.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: simplify move_tasks()
Peter Williams [Thu, 9 Aug 2007 09:16:46 +0000 (11:16 +0200)]
sched: simplify move_tasks()

The move_tasks() function is currently multiplexed with two distinct
capabilities:

1. attempt to move a specified amount of weighted load from one run
queue to another; and
2. attempt to move a specified number of tasks from one run queue to
another.

The first of these capabilities is used in two places, load_balance()
and load_balance_idle(), and in both of these cases the return value of
move_tasks() is used purely to decide if tasks/load were moved and no
notice of the actual number of tasks moved is taken.

The second capability is used in exactly one place,
active_load_balance(), to attempt to move exactly one task and, as
before, the return value is only used as an indicator of success or failure.

This multiplexing of sched_task() was introduced, by me, as part of the
smpnice patches and was motivated by the fact that the alternative, one
function to move specified load and one to move a single task, would
have led to two functions of roughly the same complexity as the old
move_tasks() (or the new balance_tasks()).  However, the new modular
design of the new CFS scheduler allows a simpler solution to be adopted
and this patch addresses that solution by:

1. adding a new function, move_one_task(), to be used by
active_load_balance(); and
2. making move_tasks() a single purpose function that tries to move a
specified weighted load and returns 1 for success and 0 for failure.

One of the consequences of these changes is that neither move_one_task()
or the new move_tasks() care how many tasks sched_class.load_balance()
moves and this enables its interface to be simplified by returning the
amount of load moved as its result and removing the load_moved pointer
from the argument list.  This helps simplify the new move_tasks() and
slightly reduces the amount of work done in each of
sched_class.load_balance()'s implementations.

Further simplification, e.g. changes to balance_tasks(), are possible
but (slightly) complicated by the special needs of load_balance_fair()
so I've left them to a later patch (if this one gets accepted).

NB Since move_tasks() gets called with two run queue locks held even
small reductions in overhead are worthwhile.

[ mingo@elte.hu ]

this change also reduces code size nicely:

   text    data     bss     dec     hex filename
   39216    3618      24   42858    a76a sched.o.before
   39173    3618      24   42815    a73f sched.o.after

Signed-off-by: Peter Williams <pwil3058@bigpond.net.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: reorder update_cpu_load(rq) with the ->task_tick() call
Ingo Molnar [Thu, 9 Aug 2007 09:16:45 +0000 (11:16 +0200)]
sched: reorder update_cpu_load(rq) with the ->task_tick() call

Peter Williams suggested to flip the order of update_cpu_load(rq) with
the ->task_tick() call. This is a NOP for the current scheduler (the
two functions are independent of each other), ->task_tick() might
create some state for update_cpu_load() in the future (or in PlugSched).

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: batch sleeper bonus
Ingo Molnar [Thu, 9 Aug 2007 09:16:45 +0000 (11:16 +0200)]
sched: batch sleeper bonus

batch up the sleeper bonus sum a bit more. Anything below
sched-granularity is too small to make a practical difference
anyway.

this optimization reduces the math in high-frequency scheduling
scenarios.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 7 Aug 2007 01:31:43 +0000 (18:31 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] rpc: update defconfig
  [ARM] pata_icside: fix the FIXMEs
  [ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c
  [ARM] 4541/1: iop: defconfig updates
  [ARM] 4531/1: remove is_in_rom() protptype

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Tue, 7 Aug 2007 01:25:06 +0000 (18:25 -0700)]
Merge git://git./linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] api: fix writting into unallocated memory in setkey_aligned

16 years agotake sched_debug.c out of nasal demon territory
Al Viro [Mon, 6 Aug 2007 03:26:59 +0000 (04:26 +0100)]
take sched_debug.c out of nasal demon territory

C99 6.10.3[11]: preprocessing directive within the argument list of
macro invocation => undefined behaviour.  Don't do that...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoEnable lguest drivers in Kconfig
Rusty Russell [Mon, 6 Aug 2007 00:48:18 +0000 (10:48 +1000)]
Enable lguest drivers in Kconfig

Lguest drivers need to default to "Y" otherwise they're never selected
for new builds.  (We don't bother prompting, because they're less than
4k combined, and implied by selecting lguest support).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoKVM: x86 emulator: fix debug reg mov instructions
Avi Kivity [Sun, 5 Aug 2007 07:16:11 +0000 (10:16 +0300)]
KVM: x86 emulator: fix debug reg mov instructions

More fallout from the writeback fixes: debug register transfer
instructions do their own writeback and thus need to disable the general
writeback mechanism.

This fixes oopses and some guest failures on AMD machines (the Intel
variant decodes the instruction in hardware and thus does not need
emulation).

Cc: Alistair John Strachan <alistair@devzero.co.uk>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 7 Aug 2007 00:52:56 +0000 (17:52 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NETFILTER]: Add xt_statistic.h to the header list for usermode programs
  [BNX2]: Fix suspend/resume problem.
  [TG3]: Fix suspend/resume problem.

16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 7 Aug 2007 00:52:42 +0000 (17:52 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC32]: Fix build.

16 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Tue, 7 Aug 2007 00:48:34 +0000 (17:48 -0700)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (32 commits)
  [SCSI] aacraid: prevent panic on adapter resource failure
  [SCSI] aha152x: use data accessors and !use_sg cleanup
  [SCSI] aha152x: Fix check_condition code-path
  [SCSI] aha152x: Clean Reset path
  [SCSI] aha152x: preliminary fixes and some comments
  [SCSI] aha152x: use bounce buffer
  [SCSI] aha152x: fix debug mode symbol conflict
  [SCSI] sd: disentangle barriers in SCSI
  [SCSI] lpfc : scsi command accessor fix for 8.2.2
  [SCSI] qlogicpti: Some cosmetic changes
  [SCSI] lpfc 8.2.2 : Change version number to 8.2.2
  [SCSI] lpfc 8.2.2 : Style cleanups
  [SCSI] lpfc 8.2.2 : Miscellaneous Bug Fixes
  [SCSI] lpfc 8.2.2 : Miscellaneous management and logging mods
  [SCSI] lpfc 8.2.2 : Rework the lpfc_printf_log() macro
  [SCSI] lpfc 8.2.2 : Attribute and Parameter splits for vport and physical port
  [SCSI] lpfc 8.2.2 : Fix locking around HBA's port_list
  [SCSI] lpfc 8.2.2 : Error messages and debugfs updates
  [SCSI] initialize shost_data to zero
  [SCSI] mptsas: add SMP passthrough support via bsg
  ...

16 years agodrm/i915: Fix i965 secured batchbuffer usage
Dave Airlie [Mon, 6 Aug 2007 23:09:51 +0000 (09:09 +1000)]
drm/i915: Fix i965 secured batchbuffer usage

This 965G and above chipsets moved the batch buffer non-secure bits to
another place. This means that previous drm's allowed in-secure batchbuffers
to be submitted to the hardware from non-privileged users who are logged
into X and and have access to direct rendering.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[ARM] rpc: update defconfig
Russell King [Mon, 6 Aug 2007 15:48:49 +0000 (16:48 +0100)]
[ARM] rpc: update defconfig

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pata_icside: fix the FIXMEs
Russell King [Mon, 6 Aug 2007 15:10:54 +0000 (16:10 +0100)]
[ARM] pata_icside: fix the FIXMEs

Alan Cox suggested that the solution to the FIXMEs in pata_icside is
to use a private postreset method to detect the lack of devices on a
port, and in such a case, disable the interrupt for the port.

This patch implements such a method, and removes the hard coded
disable of port 0.  Tested as working.

Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[CRYPTO] api: fix writting into unallocated memory in setkey_aligned
Sebastian Siewior [Fri, 3 Aug 2007 12:33:47 +0000 (20:33 +0800)]
[CRYPTO] api: fix writting into unallocated memory in setkey_aligned

setkey_unaligned() commited in ca7c39385ce1a7b44894a4b225a4608624e90730
overwrites unallocated memory in the following memset() because
I used the wrong buffer length.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
16 years ago[NETFILTER]: Add xt_statistic.h to the header list for usermode programs
Chuck Ebbert [Sun, 5 Aug 2007 04:18:16 +0000 (21:18 -0700)]
[NETFILTER]: Add xt_statistic.h to the header list for usermode programs

Add xt_statistic.h to the list of headers to install.

Apparently needed to build newer versions of iptables.

Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC32]: Fix build.
Mark Fortescue [Sun, 5 Aug 2007 04:17:18 +0000 (21:17 -0700)]
[SPARC32]: Fix build.

Correct incorrect removal of asm-generic/fcntl.h from asm-sparc/fcntl.h by
commit 6ba60d2195cd65d72eaf7ce3903a707c5bf20c7b.

Signed-off-by: Mark Fortescue <mark@mtfhpc.demon.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c
Jan Altenberg [Fri, 3 Aug 2007 11:14:34 +0000 (12:14 +0100)]
[ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c

- Include atmel_lcdc.h in at91sam926{1,3}_devices.c

Signed-off-by: Jan Altenberg <jan.altenberg@linutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4541/1: iop: defconfig updates
Dan Williams [Thu, 2 Aug 2007 16:08:51 +0000 (17:08 +0100)]
[ARM] 4541/1: iop: defconfig updates

With the availability of the iop-adma driver iop platforms can now use
their offload engines for md-raid5 (copy+xor) and net-dma (tcp receive
copy) offload.

Cc: Lennert Buytenhek <kernel@wantstofly.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4531/1: remove is_in_rom() protptype
Greg Ungerer [Mon, 30 Jul 2007 01:07:39 +0000 (02:07 +0100)]
[ARM] 4531/1: remove is_in_rom() protptype

Remove unused is_in_rom() function prototype.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[SCSI] aacraid: prevent panic on adapter resource failure
Salyzyn, Mark [Thu, 2 Aug 2007 19:38:59 +0000 (15:38 -0400)]
[SCSI] aacraid: prevent panic on adapter resource failure

If the driver fails to allocate the contiguous (DMAable) memory for
system reasons, we fail to load the instance, but then we try to free
the <nul> allocation in the cleanup code and we get a panic in
pci_free_consistent(). This is reported against an older kernel, hope
this is relevant for latest/greatest.

Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] aha152x: use data accessors and !use_sg cleanup
Boaz Harrosh [Sun, 29 Jul 2007 19:29:02 +0000 (22:29 +0300)]
[SCSI] aha152x: use data accessors and !use_sg cleanup

And finally this is the regular !use_sg cleanup
and use of data accessors.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] aha152x: Fix check_condition code-path
Boaz Harrosh [Sun, 29 Jul 2007 19:27:06 +0000 (22:27 +0300)]
[SCSI] aha152x: Fix check_condition code-path

check_condition code-path was similar but more
complicated to Reset. It went like this:

  1. extra space was allocated at aha152x_scdata for mirroring
    scsi_cmnd members.
  2. At aha152x_internal_queue() every not check_condition
    (REQUEST_SENSE) command was copied to above members in
    case of error.
  3. At busfree_run() in the DONE_CS phase if a Status of
    SAM_STAT_CHECK_CONDITION was detected. The command was
    re-queued Internally using aha152x_internal_queue(,,check_condition,)
    The old command members are over written with the
    REQUEST_SENSE info.
  4. At busfree_run() in the DONE_CS phase again. If it is a
    check_condition command, info was restored from mirror
    made at first call to aha152x_internal_queue() (see 2)
    and the command is completed.

What I did is:

  1. Allocate less space in aha152x_scdata only for the 16-byte
    original command. (which is actually not needed by scsi-ml
    anymore at this stage. But this is to much knowledge of scsi-ml)
  2. If Status == SAM_STAT_CHECK_CONDITION, then like before
     re-queue a REQUEST_SENSE command. But only now save original
     command members. (Less of them)
  3. In aha152x_internal_queue(), just like for Reset, use the
    check_condition hint to set differently the working members.
    execute the command.
  4. At busfree_run() in the DONE_CS phase again. restore needed
     members.

While at it. This patch fixes a BUG. Old code when sending
a REQUEST_SENSE for a failed command. Would than return with
cmd->resid == 0 which was the status of the REQUEST_SENSE.
The failing command resid was lost. And when would resid
be interesting if not on a failing command?

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] aha152x: Clean Reset path
Boaz Harrosh [Sun, 29 Jul 2007 19:24:09 +0000 (22:24 +0300)]
[SCSI] aha152x: Clean Reset path

What Reset code was doing:  Save command's important/dangerous
Info on stack. NULL those members from scsi_cmnd.
Issue a Reset. wait for it to finish than restore members
and return.

What I do is save or NULL nothing. But use the "resetting"
hint in aha152x_internal_queue() to NULL out working members
and leave struct scsi_cmnd alone.

The indent here looks funny but it will change/drop in last
patch and it is clear this way what changed.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] aha152x: preliminary fixes and some comments
Boaz Harrosh [Sun, 29 Jul 2007 19:22:04 +0000 (22:22 +0300)]
[SCSI] aha152x: preliminary fixes and some comments

  hunk by hunk:
  - CHECK_CONDITION is what happens to cmnd->status >> 1
    or after status_byte() macro. But here it is used
    directly on status which means 0x1 which is an undefined
    bit in the standard. And is a status that will never
    return from a target.

  - in busfree_run at the DONE_SC phase we have 3 distinct
    operation:
1-if(DONE_SC->SCp.phase & check_condition)
          The REQUEST_SENSE command return.
          - Restore original command
  - Than continue to operation 3.
2-if(DONE_SC->SCp.Status==SAM_STAT_CHECK_CONDITION)
          A regular command returned with a status.
  - Internally re-Q a REQUEST_SENSE.
  - Do not do operation 3.
3-
  - Complete the command and return it to scsi-ml
     So the 0x2 in both these operations (1,2) means the scsi
     check-condition status, hence SAM_STAT_CHECK_CONDITION

  - Here the code asks about !(DONE_SC->SCp.Status & not_issued)
    but "not_issued" is an enum belonging to the "phase" member
    and not to the Status returned from target. The reason this
    works is because not_issued==1 and Also CHECK_CONDITION==1
    (remember from hunk 1). So actually the code was asking
    !(DONE_SC->SCp.Status & CHECK_CONDITION). Which means
    "Has the status been read from target yet?"
    Staus is read at status_run(). "not_issued" is
    cleared in seldo_run() which is usually earlier than
    status_run().

  So this patch does nothing as far as assembly is concerned
  but it does let the reader understand what is going on.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] aha152x: use bounce buffer
Boaz Harrosh [Sun, 29 Jul 2007 19:18:20 +0000 (22:18 +0300)]
[SCSI] aha152x: use bounce buffer

Cause highmem buffers to be bounced to low memory until this
driver supports highmem addresses.  Otherwise it just oopses
on NULL buffer addresses.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] aha152x: fix debug mode symbol conflict
Boaz Harrosh [Sun, 29 Jul 2007 19:16:14 +0000 (22:16 +0300)]
[SCSI] aha152x: fix debug mode symbol conflict

The symbol <debug_locks> conflicts with the rather global one in
include/linux/locks.h.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sd: disentangle barriers in SCSI
James Bottomley [Fri, 3 Aug 2007 21:41:11 +0000 (16:41 -0500)]
[SCSI] sd: disentangle barriers in SCSI

Our current implementation has a generic set of barrier functions that
go through the SCSI driver model.  Realistically, this is unnecessary,
because the only device that can use barriers (sd) can set the flush
functions up at probe or revalidate time.  This patch pulls the barrier
functions out of the mid layer and scsi driver model and relocates them
directly in sd.

Acked-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[BNX2]: Fix suspend/resume problem.
Michael Chan [Sat, 4 Aug 2007 03:57:25 +0000 (20:57 -0700)]
[BNX2]: Fix suspend/resume problem.

The device would not resume properly if it was shutdown before the system
was suspended.  In such scenario where the netif_running state is 0,
bnx2_suspend() would not save the PCI state and so the memory enable bit
and bus master enable bit would be lost.

We fix this by always saving and restoring the PCI state in
bnx2_suspend() and bnx2_resume() regardless of netif_running() state.

Update version to 1.6.4.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TG3]: Fix suspend/resume problem.
Michael Chan [Sat, 4 Aug 2007 03:56:54 +0000 (20:56 -0700)]
[TG3]: Fix suspend/resume problem.

Joachim Deguara <joachim.deguara@amd.com> reported that tg3 devices
would not resume properly if the device was shutdown before the system
was suspended.  In such scenario where the netif_running state is 0,
tg3_suspend() would not save the PCI state and so the memory enable bit
and bus master enable bit would be lost.

We fix this by always saving and restoring the PCI state in
tg3_suspend() and tg3_resume() regardless of netif_running() state.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoLinux 2.6.23-rc2 v2.6.23-rc2
Linus Torvalds [Sat, 4 Aug 2007 02:49:55 +0000 (19:49 -0700)]
Linux 2.6.23-rc2

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Fri, 3 Aug 2007 22:16:33 +0000 (15:16 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Fixes for the SLB shadow buffer code
  [POWERPC] Fix a compile warning in powermac/feature.c
  [POWERPC] Fix a compile warning in pci_32.c
  [POWERPC] Fix parse_drconf_memory() for 64-bit start addresses
  [POWERPC] Fix num_cpus calculation in smp_call_function_map()
  [POWERPC] ps3: Fix section mismatch in ps3/setup.c
  [POWERPC] spufs: Fix affinity after introduction of node_allowed() calls
  [POWERPC] Fix special PTE code for secondary hash bucket
  [POWERPC] Expand RPN field to 34 bits when using 64k pages

16 years agofix s2io regression
Al Viro [Thu, 2 Aug 2007 18:21:30 +0000 (19:21 +0100)]
fix s2io regression

 * wrong argument passed to pci_unmap_single() on failure
   exit paths
 * leak in the same area

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.infradead.org/~dwmw2/mtd-2.6.23
Linus Torvalds [Fri, 3 Aug 2007 22:08:55 +0000 (15:08 -0700)]
Merge git://git.infradead.org/~dwmw2/mtd-2.6.23

* git://git.infradead.org/~dwmw2/mtd-2.6.23:
  [MTD] Makefile fix for mtdsuper

16 years agoMerge git://git.infradead.org/battery-2.6
Linus Torvalds [Fri, 3 Aug 2007 22:08:30 +0000 (15:08 -0700)]
Merge git://git.infradead.org/battery-2.6

* git://git.infradead.org/battery-2.6:
  Don't compile the PMU power driver on 64-bit PowerPC

16 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23
Linus Torvalds [Fri, 3 Aug 2007 22:07:10 +0000 (15:07 -0700)]
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6.23

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23:
  sh: fix defconfigs for sh7751r boards
  sh: fix cf support on r2d boards
  sh: update r2d defconfig
  sh: update snapgear defconfig.
  sh: Fix SH-X3 FPU exception handling.
  sh: Fix pgd mismatch from cached TTB in unhandled fault.
  sh: Don't include fault-nommu on SH-2/SH-2A.
  sh: Fix irqflags tracing for SH-3/4 nommu.
  sh: Fix lockdep debugging oops on SH-3/4.

16 years agoKill some obsolete sub-thread-ptrace stuff
Oleg Nesterov [Fri, 3 Aug 2007 21:04:41 +0000 (01:04 +0400)]
Kill some obsolete sub-thread-ptrace stuff

There is a couple of subtle checks which were needed to handle ptracing from
the same thread group. This was deprecated a long ago, imho this code just
complicates the understanding.

And, the "->parent->signal->flags & SIGNAL_GROUP_EXIT" check in exit_notify()
is not right. SIGNAL_GROUP_EXIT can mean exec(), not exit_group(). This means
ptracer can lose a ptraced zombie on exec(). Minor problem, but still the bug.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoserial: fix 8250 early console setup
Daniel Ritz [Fri, 3 Aug 2007 14:07:43 +0000 (16:07 +0200)]
serial: fix 8250 early console setup

the early setup function serial8250_console_early_setup() can be called
from non __init code (eg. hotpluggable serial ports like serial_cs) so
remove the __init from the call chain to avoid crashes.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 3 Aug 2007 21:58:08 +0000 (14:58 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: Fix O_CLOEXEC values.
  [SPARC32]: Fix modular build of floppy driver.
  [SOUND] CS4231 SBus: Two fixes.
  [CG6]: fix memory size detection
  [SPARC64]: Add missing dma_sync_single_range_for_*().

16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 3 Aug 2007 21:57:41 +0000 (14:57 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [TCP]: DSACK signals data receival, be conservative
  [TCP]: Also handle snd_una changes in tcp_cwnd_down
  [TIPC]: Fix two minor sparse warnings.
  [TIPC]: Make function tipc_nameseq_subscribe static.
  [PF_KEY]: Fix ipsec not working in 2.6.23-rc1-git10
  [TCP]: Invoke tcp_sendmsg() directly, do not use inet_sendmsg().
  [IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc
  [IPV4] raw.c: kmalloc + memset conversion to kzalloc
  [NETFILTER] nf_conntrack_l3proto_ipv4_compat.c: kmalloc + memset conversion to kzalloc
  [NETFILTER] nf_conntrack_expect.c: kmalloc + memset conversion to kzalloc
  [NET]: Removal of duplicated include net/wanrouter/wanmain.c
  SCTP: remove useless code in function sctp_init_cause
  SCTP: drop SACK if ctsn is not less than the next tsn of assoc
  SCTP: IPv4 mapped addr not returned in SCTPv6 accept()
  SCTP: IPv4 mapped addr not returned in SCTPv6 accept()
  sctp: fix shadow symbol in net/sctp/tsnmap.c
  sctp: try to fix readlock
  sctp: remove shadowed symbols
  sctp: move global declaration to header file.
  sctp: make locally used function static

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Fri, 3 Aug 2007 21:47:07 +0000 (14:47 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: fw-core: make two variables static
  firewire: fw-ohci: dma_free_coherent needs IRQs enabled
  firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters)
  ieee1394: sbp2: more correct Kconfig dependencies
  ieee1394: revert "sbp2: enforce 32bit DMA mapping"

16 years ago[SPARC]: Fix O_CLOEXEC values.
David S. Miller [Fri, 3 Aug 2007 21:24:17 +0000 (14:24 -0700)]
[SPARC]: Fix O_CLOEXEC values.

The one choosen by asm-generic/fcntl.h is not appropriate
for this platform.

Noticed by Ulrich Drepper.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC32]: Fix modular build of floppy driver.
David S. Miller [Thu, 2 Aug 2007 07:19:14 +0000 (00:19 -0700)]
[SPARC32]: Fix modular build of floppy driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOUND] CS4231 SBus: Two fixes.
Georg Chini [Thu, 2 Aug 2007 04:55:58 +0000 (21:55 -0700)]
[SOUND] CS4231 SBus: Two fixes.

Remove unnecessary sbus_dma_reset function and change sbus_dma_enable
to avoid occasional system crashes when stopping recording.

Signed-off-by: Georg Chini <georg.chini@triaton-webhosting.com>
Signed-off-by: David S. Miller <davem@davemloft.net>