linux-2.6
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
Linus Torvalds [Thu, 9 Aug 2007 15:23:47 +0000 (08:23 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/drzeus/mmc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
  mmc: at91_mci: remove whitespace at the end of lines
  mmc: reorganize bounce buffer init
  wbsd: fix section mismatch warnings

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
Linus Torvalds [Thu, 9 Aug 2007 15:23:31 +0000 (08:23 -0700)] 
Merge git://git./linux/kernel/git/mingo/linux-2.6-sched

* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: (61 commits)
  sched: refine negative nice level granularity
  sched: fix update_stats_enqueue() reniced codepath
  sched: round a bit better
  sched: make the multiplication table more accurate
  sched: optimize update_rq_clock() calls in the load-balancer
  sched: optimize activate_task()
  sched: clean up set_curr_task_fair()
  sched: remove __update_rq_clock() call from entity_tick()
  sched: move the __update_rq_clock() call to scheduler_tick()
  sched debug: remove the 'u64 now' parameter from print_task()/_rq()
  sched: remove the 'u64 now' local variables
  sched: remove the 'u64 now' parameter from deactivate_task()
  sched: remove the 'u64 now' parameter from dequeue_task()
  sched: remove the 'u64 now' parameter from enqueue_task()
  sched: remove the 'u64 now' parameter from dec_nr_running()
  sched: remove the 'u64 now' parameter from inc_nr_running()
  sched: remove the 'u64 now' parameter from dec_load()
  sched: remove the 'u64 now' parameter from inc_load()
  sched: remove the 'u64 now' parameter from update_curr_load()
  sched: remove the 'u64 now' parameter from ->task_new()
  ...

17 years agolguest: avoid shared libraries mapped over guest memory
Ronald G. Minnich [Thu, 9 Aug 2007 11:07:24 +0000 (21:07 +1000)] 
lguest: avoid shared libraries mapped over guest memory

Some versions of ld.so mmap the shared libraries right in over guest
memory, so compile lguest statically by default.

[ FC7 maps shared libraries very low, where the launcher maps guest's
  physical memory.  Quick fix is to link Launcher static, real fix is
  for 2.6.24. ]

-static is a simple fix. I expect this problem will be more common than we
like, as different distro's make different "improvements" to ld.so

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agolguest: Fix Malicious Guest GDT Host Crash
Rusty Russell [Thu, 9 Aug 2007 10:57:13 +0000 (20:57 +1000)] 
lguest: Fix Malicious Guest GDT Host Crash

If a Guest makes hypercall which sets a GDT entry to not present, we
currently set any segment registers using that GDT entry to 0.
Unfortunately, this is not sufficient: there are other ways of
altering GDT entries which will cause a fault.

The correct solution to do what Linux does: let them set any GDT value
they want and handle the #GP when popping causes a fault.  This has
the added benefit of making our Switcher slightly more robust in the
case of any other bugs which cause it to fault.

We kill the Guest if it causes a fault in the Switcher: it's the
Guest's responsibility to make sure it's not using segments when it
changes them.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix non-TSC guest clocksource lockup
Rusty Russell [Thu, 9 Aug 2007 10:52:35 +0000 (20:52 +1000)] 
Fix non-TSC guest clocksource lockup

lguest uses a host-supplied wallclock-based clocksource when the TSC
is not reliable.  As this is already in nanoseconds, I naively used a
multiplier of 1 and a shift of 0.

But update_wall_time() in its infinite wisdom decides to adjust the
clock a little (where does it think it's getting a more accurate time
from?)

It will happily tweak the multiplier... to 0, then -1.

So the "fix" is to use a shift of 22 like everyone else, and a
multiplier of 1 << 22.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoRevert "genirq: temporary fix for level-triggered IRQ resend"
Linus Torvalds [Thu, 9 Aug 2007 15:10:16 +0000 (08:10 -0700)] 
Revert "genirq: temporary fix for level-triggered IRQ resend"

This reverts commit 0fc4969b866671dfe39b1a9119d0fdc7ea0f63e5.  It was
always meant to be temporary, but it's generating more useless noise
than anything else, and we probably should never have done it in the
generic kernel (only had the people involved test it on their own).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agommc: at91_mci: remove whitespace at the end of lines
Nicolas Ferre [Wed, 8 Aug 2007 10:01:44 +0000 (12:01 +0200)] 
mmc: at91_mci: remove whitespace at the end of lines

Some cleanup with whitespace/tab at the end of lines.

Signed-off-by: Nicolas Ferre <nicolas.ferre@rfo.atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agommc: reorganize bounce buffer init
Pierre Ossman [Thu, 9 Aug 2007 12:28:02 +0000 (14:28 +0200)] 
mmc: reorganize bounce buffer init

Reorganize the code that initializes mmc_block's bounce buffer in
order to avoid warnings when MMC_BLOCK_BOUNCE isn't used.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agowbsd: fix section mismatch warnings
Gabriel C [Thu, 2 Aug 2007 18:20:44 +0000 (20:20 +0200)] 
wbsd: fix section mismatch warnings

This patch fixes the following section mismatch warnings

...

WARNING: vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe')
WARNING: vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')
WARNING: vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe')

...

Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agosched: refine negative nice level granularity
Ingo Molnar [Thu, 9 Aug 2007 09:16:52 +0000 (11:16 +0200)] 
sched: refine negative nice level granularity

refine the granularity of negative nice level tasks: let them
reschedule more often to offset the effect of them consuming
their wait_runtime proportionately slower. (This makes nice-0
task scheduling smoother in the presence of negatively
reniced tasks.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: fix update_stats_enqueue() reniced codepath
Ingo Molnar [Thu, 9 Aug 2007 09:16:52 +0000 (11:16 +0200)] 
sched: fix update_stats_enqueue() reniced codepath

the key has to be rescaled to /weight even if it has a positive value.

(this change only affects the scheduling of reniced tasks)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 years agofix oops in __audit_signal_info()
Al Viro [Tue, 7 Aug 2007 23:01:46 +0000 (00:01 +0100)] 
fix oops in __audit_signal_info()

The check for audit_signals is misplaced and the check for
audit_dummy_context() is missing; as the result, if we send a signal to
auditd from task with NULL ->audit_context while we have audit_signals
!= 0 we end up with an oops.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodrivers/net/ibmveth.c: memset fix
Mariusz Kozlowski [Mon, 6 Aug 2007 21:44:03 +0000 (23:44 +0200)] 
drivers/net/ibmveth.c: memset fix

> >>  Looks like memset() is zeroing wrong nr of bytes.
> >
> > Good catch, however, I think we can just remove this memset altogether
> > since the memory gets allocated via kzalloc.
>
> Correct, that memset() is superfluous.

Ok. Then this should do it.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
 drivers/net/ibmveth.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agophy layer: fix phy_mii_ioctl for autonegotiation
Domen Puncer [Tue, 7 Aug 2007 10:12:41 +0000 (12:12 +0200)] 
phy layer: fix phy_mii_ioctl for autonegotiation

Fix a thinko (?) in setting phydev->autoneg.

Signed-off-by: Domen Puncer <domen.puncer@telargo.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoehea: Eliminated some compiler warnings
Thomas Klein [Mon, 6 Aug 2007 11:55:44 +0000 (13:55 +0200)] 
ehea: Eliminated some compiler warnings

Fixed wrongly casted pointers

Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoehea: Simplify resource usage check
Thomas Klein [Mon, 6 Aug 2007 11:55:14 +0000 (13:55 +0200)] 
ehea: Simplify resource usage check

Use shorter method to determine whether adapter has configured ports

Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoehea: Fix workqueue handling
Thomas Klein [Mon, 6 Aug 2007 11:54:29 +0000 (13:54 +0200)] 
ehea: Fix workqueue handling

Fix: Workqueue ehea_driver_wq was not destroyed

Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Fix rx pool deactivate oops
Brian King [Fri, 3 Aug 2007 03:55:19 +0000 (13:55 +1000)] 
ibmveth: Fix rx pool deactivate oops

This fixes the following oops which can occur when trying to deallocate
receive buffer pools using sysfs with the ibmveth driver.

NIP: d00000000024f954 LR: d00000000024fa58 CTR: c0000000000d7478
REGS: c00000000ffef9f0 TRAP: 0300   Not tainted  (2.6.22-ppc64)
MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 24242442  XER: 00000010
DAR: 00000000000007f0, DSISR: 0000000042000000
TASK = c000000002f91360[2967] 'bash' THREAD: c00000001398c000 CPU: 2
GPR00: 0000000000000000 c00000000ffefc70 d000000000262d30 c00000001c4087a0
GPR04: 00000003000000fe 0000000000000000 000000000000000f c000000000579d80
GPR08: 0000000000365688 c00000001c408998 00000000000007f0 0000000000000000
GPR12: d000000000251e88 c000000000579d80 00000000200957ec 0000000000000000
GPR16: 00000000100b8808 00000000100feb30 0000000000000000 0000000010084828
GPR20: 0000000000000000 000000001014d4d0 0000000000000010 c00000000ffefeb0
GPR24: c00000001c408000 0000000000000000 c00000001c408000 00000000ffffb054
GPR28: 00000000000000fe 0000000000000003 d000000000262700 c00000001c4087a0
NIP [d00000000024f954] .ibmveth_remove_buffer_from_pool+0x38/0x108 [ibmveth]
LR [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
Call Trace:
[c00000000ffefc70] [c0000000000280a8] .dma_iommu_unmap_single+0x14/0x28 (unreliable)
[c00000000ffefd00] [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
[c00000000ffefd80] [d000000000250e40] .ibmveth_poll+0xd8/0x434 [ibmveth]
[c00000000ffefe40] [c00000000032da8c] .net_rx_action+0xdc/0x248
[c00000000ffefef0] [c000000000068b4c] .__do_softirq+0xa8/0x164
[c00000000ffeff90] [c00000000002789c] .call_do_softirq+0x14/0x24
[c00000001398f6f0] [c00000000000c04c] .do_softirq+0x68/0xac
[c00000001398f780] [c000000000068ca0] .irq_exit+0x54/0x6c
[c00000001398f800] [c00000000000c8e4] .do_IRQ+0x170/0x1ac
[c00000001398f890] [c000000000004790] hardware_interrupt_entry+0x18/0x1c
   Exception: 501 at .plpar_hcall_norets+0x24/0x94
    LR = .veth_pool_store+0x15c/0x298 [ibmveth]
[c00000001398fb80] [d000000000250b2c] .veth_pool_store+0x5c/0x298 [ibmveth] (unreliable)
[c00000001398fc30] [c000000000145530] .sysfs_write_file+0x140/0x1d8
[c00000001398fcf0] [c0000000000de89c] .vfs_write+0x120/0x208
[c00000001398fd90] [c0000000000df2c8] .sys_write+0x4c/0x8c
[c00000001398fe30] [c0000000000086ac] syscall_exit+0x0/0x40
Instruction dump:
fba1ffe8 fbe1fff8 789d0022 f8010010 f821ff71 789c0020 1d3d00a8 7b8a1f24
38000000 7c7f1b78 7d291a14 e9690128 <7c0a592ae8030000 e9690120 80a90100

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoMerge branch 'r8169-for-jeff-20070806' of git://electric-eye.fr.zoreil.com/home/romie...
Jeff Garzik [Tue, 7 Aug 2007 21:28:23 +0000 (17:28 -0400)] 
Merge branch 'r8169-for-jeff-20070806' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into upstream-fixes

17 years agoMerge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linvill...
Jeff Garzik [Tue, 7 Aug 2007 21:25:02 +0000 (17:25 -0400)] 
Merge branch 'fixes-jgarzik' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes

17 years agoMerge branch 'ucc_geth' of master.kernel.org:/pub/scm/linux/kernel/git/leo/fsl-soc...
Jeff Garzik [Tue, 7 Aug 2007 21:19:44 +0000 (17:19 -0400)] 
Merge branch 'ucc_geth' of /linux/kernel/git/leo/fsl-soc into upstream-fixes

17 years agosis190 check for ISA bridge on SiS966
Neil Muller [Wed, 1 Aug 2007 15:52:04 +0000 (17:52 +0200)] 
sis190 check for ISA bridge on SiS966

sis190 driver assumes to find ISA only on SiS965.
similar fix is in sis900 driver, see bug report
http://bugs.debian.org/435547

Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoatl1: use spin_trylock_irqsave()
Ingo Molnar [Wed, 1 Aug 2007 00:07:02 +0000 (19:07 -0500)] 
atl1: use spin_trylock_irqsave()

use the simpler spin_trylock_irqsave() API to get the adapter lock.

[ this is also a fix for -rt where adapter->lock is a sleeping lock. ]

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agonet: smc91x: Build fixes for general sh boards.
Paul Mundt [Wed, 1 Aug 2007 06:48:55 +0000 (15:48 +0900)] 
net: smc91x: Build fixes for general sh boards.

SH boards in general only wire this up in 8 or 16-bit mode, and
as we never had the wrappers for 32-bit mode defined, SMC_CAN_USE_32BIT
caused build failure for the non-Solution Engine boards. This gets it
building again.

Also kill off the straggling set_irq_type() definition, this is left
over cruft that was missed when the rest of it switched to IRQ flags.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
--

 drivers/net/smc91x.h |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 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

17 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

17 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>
17 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>
17 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>
17 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.

17 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.

17 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
  ...

17 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>
17 years agor8169: avoid needless NAPI poll scheduling
Francois Romieu [Wed, 1 Aug 2007 22:00:48 +0000 (00:00 +0200)] 
r8169: avoid needless NAPI poll scheduling

Theory  : though needless, it should not have hurt.
Practice: it does not play nice with DEBUG_SHIRQ + LOCKDEP + UP
(see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=242572).

The patch makes sense in itself but I should dig why it has an effect
on #242572 (assuming that NAPI do not change in a near future).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years agor8169: PHY power-on fix
Roger So [Tue, 31 Jul 2007 21:52:42 +0000 (23:52 +0200)] 
r8169: PHY power-on fix

Fix extracted from Realtek's driver (8.002.00/20070713) for the PHY
attached to 8111/8168b chipsets.

The check against mac_version is just usual paranoia during the bugfix
period of the kernel cycle. -- FR

Tested on Asus M2A-VM motherboard by Roger So.
No regression on my Asrock 945G DVI either (built-in 8168 + 2x8169).

Signed-off-by: Roger So <roger.so@gmail.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
17 years ago[PATCH] softmac: Fix deadlock of wx_set_essid with assoc work
Michael Buesch [Tue, 31 Jul 2007 18:41:04 +0000 (20:41 +0200)] 
[PATCH] softmac: Fix deadlock of wx_set_essid with assoc work

The essid wireless extension does deadlock against the assoc mutex,
as we don't unlock the assoc mutex when flushing the workqueue, which
also holds the lock.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] zd1211rw: fix filter for PSPOLL frames
Ulrich Kunitz [Sat, 21 Jul 2007 21:42:02 +0000 (22:42 +0100)] 
[PATCH] zd1211rw: fix filter for PSPOLL frames

While filling the control set the driver tests for a PSPOLL frame.
But it tested only the subtype of the packet. The full type needs
to be tested to identify those packets reliably.

[dsd@gentoo.org: backport to mainline]
Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rtl8187: ensure priv->hwaddr is always valid
Michael Wu [Mon, 16 Jul 2007 00:09:55 +0000 (17:09 -0700)] 
[PATCH] rtl8187: ensure priv->hwaddr is always valid

conf->mac_addr is not guaranteed to be set. This ensures priv->hwaddr is
always set to a valid mac address. Thanks to Johannes Berg
<johannes@sipsolutions.net> for finding this problem.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] remove duplicated ioctl entries in compat_ioctl.c
Masakazu Mokuno [Mon, 9 Jul 2007 10:54:39 +0000 (19:54 +0900)] 
[PATCH] remove duplicated ioctl entries in compat_ioctl.c

This patch removes some duplicated wireless ioctl entries in the array
'struct ioctl_trans ioctl_start[]' of fs/compat_ioctl.c

These entries are registered twice like:

COMPATIBLE_IOCTL(SIOCGIWPRIV)

and

HANDLE_IOCTL(SIOCGIWPRIV, do_wireless_ioctl)

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoRevert "[PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation"
John W. Linville [Mon, 6 Aug 2007 18:41:59 +0000 (14:41 -0400)] 
Revert "[PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation"

This reverts commit 77548f58070894cf5970a110981e511ffe793369.

David Woodhouse wrote:

>This broke my shinybook. I seem to get absolutely _no_ outgoing packets,
>although I can receive OK.

Larry Finger wrote:

>Please revert this patch.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 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>