GitHub/MotorolaMobilityLLC/kernel-slsi.git
19 years ago[PATCH] DVB: lgdt330x check callback fix
Michael Krufky [Tue, 6 Sep 2005 22:19:40 +0000 (15:19 -0700)]
[PATCH] DVB: lgdt330x check callback fix

Most of the patch is whitespace cleanup, but more importantly, this patch
checks to see whether a callback is set before calling it.  On cx88 boards
(currently the only boards using lgdt330x in 2.6.13) every callback is set.
However, newer drivers currently in development leave a callback undefined,
and lgdt330x must not call it if it isn't defined.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] DVB: Clarify description text for dvb-bt8xx in Kconfig
Michael Krufky [Tue, 6 Sep 2005 22:19:38 +0000 (15:19 -0700)]
[PATCH] DVB: Clarify description text for dvb-bt8xx in Kconfig

Patrick Keene wrote to the linux-dvb list, asking where in menuconfig he
can enable dvb-bt8xx for his AVerMedia DVB card.  I pointed the following
out to him:

config DVB_BT8XX
       tristate "Nebula/Pinnacle PCTV/Twinhan PCI cards"

It has been agreed upon that this description is extremely misleading.

This patch changes the one-liner description text of dvb-bt8xx to something
more meaningful, and adds AVerMedia to the detailed description.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Indycam / VINO drivers
Ralf Baechle [Tue, 6 Sep 2005 22:19:37 +0000 (15:19 -0700)]
[PATCH] Indycam / VINO drivers

Rewrite of the Indycam / VINO video v4l2 drivers for the SGI Indy.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Mikael Nousiainen <tmnousia@cc.hut.fi>
Cc: <video4linux-list@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pivot_root() circular reference fix
Miklos Szeredi [Tue, 6 Sep 2005 22:19:36 +0000 (15:19 -0700)]
[PATCH] pivot_root() circular reference fix

Fix http://bugzilla.kernel.org/show_bug.cgi?id=4857

When pivot_root is called from an init script in an initramfs environment,
it causes a circular reference in the mount tree.

The cause of this is that pivot_root() is not prepared to handle pivoting
an unattached mount.  In an initramfs environment, rootfs is the root of
the namespace, and so it is not attached.

This patch fixes this and related problems, by returning -EINVAL if either
the current root or the new root is detached.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Acked-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Cc: <bigfish@asmallpond.org>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kprobes: fix bug when probed on task and isr functions
Keshavamurthy Anil S [Tue, 6 Sep 2005 22:19:35 +0000 (15:19 -0700)]
[PATCH] kprobes: fix bug when probed on task and isr functions

This patch fixes a race condition where in system used to hang or sometime
crash within minutes when kprobes are inserted on ISR routine and a task
routine.

The fix has been stress tested on i386, ia64, pp64 and on x86_64.  To
reproduce the problem insert kprobes on schedule() and do_IRQ() functions
and you should see hang or system crash.

Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Acked-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kprobes: fix handling of simultaneous probe hit/unregister
Jim Keniston [Tue, 6 Sep 2005 22:19:34 +0000 (15:19 -0700)]
[PATCH] kprobes: fix handling of simultaneous probe hit/unregister

This patch fixes a bug in kprobes's handling of a corner case on i386 and
x86_64.  On an SMP system, if one CPU unregisters a kprobe just after
another CPU hits that probepoint, kprobe_handler() on the latter CPU sees
that the kprobe has been unregistered, and attempts to let the CPU continue
as if the probepoint hadn't been hit.  The bug is that on i386 and x86_64,
we were neglecting to set the IP back to the beginning of the probed
instruction.  This could cause an oops or crash.

This bug doesn't exist on ppc64 and ia64, where a breakpoint instruction
leaves the IP pointing to the beginning of the instruction.  I don't know
about sparc64.  (Dave, could you please advise?)

This fix has been tested on i386 and x86_64 SMP systems.  To reproduce the
problem, set one CPU to work registering and unregistering a kprobe
repeatedly, and another CPU pounding the probepoint in a tight loop.

Acked-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes/IA64: fix race when break hits and kprobe not found
Keshavamurthy Anil S [Tue, 6 Sep 2005 22:19:32 +0000 (15:19 -0700)]
[PATCH] Kprobes/IA64: fix race when break hits and kprobe not found

This patch addresses a potential race condition for a case where Kprobe has
been removed right after another CPU has taken a break hit.

The way this is addressed here is when the CPU that has taken a break hit
does not find its corresponding kprobe, then we check to see if the
original instruction got replaced with other than break.  If it got
replaced with other than break instruction, then we continue to execute
from the replaced instruction, else if we find that it is still a break,
then we let the kernel handle this, as this might be the break instruction
inserted by other than kprobe(may be kernel debugger).

Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kprobes-prevent-possible-race-conditions-sparc64-changes fix
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:31 +0000 (15:19 -0700)]
[PATCH] kprobes-prevent-possible-race-conditions-sparc64-changes fix

This patch adds flags "ax" to .kprobe.text section.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes: prevent possible race conditions sparc64 changes
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:30 +0000 (15:19 -0700)]
[PATCH] Kprobes: prevent possible race conditions sparc64 changes

This patch contains the sparc64 architecture specific changes to prevent the
possible race conditions.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes: prevent possible race conditions ia64 changes
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:30 +0000 (15:19 -0700)]
[PATCH] Kprobes: prevent possible race conditions ia64 changes

This patch contains the ia64 architecture specific changes to prevent the
possible race conditions.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes: prevent possible race conditions ppc64 changes
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:29 +0000 (15:19 -0700)]
[PATCH] Kprobes: prevent possible race conditions ppc64 changes

This patch contains the ppc64 architecture specific changes to prevent the
possible race conditions.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kprobes: prevent possible race conditions x86_64 changes
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:28 +0000 (15:19 -0700)]
[PATCH] kprobes: prevent possible race conditions x86_64 changes

This patch contains the x86_64 architecture specific changes to prevent the
possible race conditions.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kprobes: prevent possible race conditions i386 changes
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:27 +0000 (15:19 -0700)]
[PATCH] kprobes: prevent possible race conditions i386 changes

This patch contains the i386 architecture specific changes to prevent the
possible race conditions.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes: prevent possible race conditions generic
Prasanna S Panchamukhi [Tue, 6 Sep 2005 22:19:26 +0000 (15:19 -0700)]
[PATCH] Kprobes: prevent possible race conditions generic

There are possible race conditions if probes are placed on routines within the
kprobes files and routines used by the kprobes.  For example if you put probe
on get_kprobe() routines, the system can hang while inserting probes on any
routine such as do_fork().  Because while inserting probes on do_fork(),
register_kprobes() routine grabs the kprobes spin lock and executes
get_kprobe() routine and to handle probe of get_kprobe(), kprobes_handler()
gets executed and tries to grab kprobes spin lock, and spins forever.  This
patch avoids such possible race conditions by preventing probes on routines
within the kprobes file and routines used by kprobes.

I have modified the patches as per Andi Kleen's suggestion to move kprobes
routines and other routines used by kprobes to a seperate section
.kprobes.text.

Also moved page fault and exception handlers, general protection fault to
.kprobes.text section.

These patches have been tested on i386, x86_64 and ppc64 architectures, also
compiled on ia64 and sparc64 architectures.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix smsc_ircc_init return value
Brice Goglin [Tue, 6 Sep 2005 22:19:25 +0000 (15:19 -0700)]
[PATCH] Fix smsc_ircc_init return value

I noticed a strange return value in smsc_ircc_init in
drivers/net/irda/smsc_ircc2.c in rc4-mm1.

When reaching the line "if (ircc_fir > 0 && ircc_sir > 0)", ret is 0.  So I
don't see the point of setting it to 0 in the "else" case.  >From what I
see in 2.6.12 it should probably be set to -ENODEV at the begining of the
"else" case.  The attached patch does this.

Note that I didn't actually see any breakage caused by this.

Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: dont use void * where specific type will do
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:24 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: dont use void * where specific type will do

IRDA: smsc-ircc2 - do not over-use void * pointers, use specific
      types wherever possible.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: use netdev_priv()
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:23 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: use netdev_priv()

IRDA: smsc-ircc2 - use netdev_priv() instead of accessing pointer
      directly.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: add to sysfs as platform device, new PM
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:22 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: add to sysfs as platform device, new PM

IRDA: smsc-ircc2 - add sysfs support (platform device and driver) and
      switch power management to the new scheme.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: dont pass iobase around
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:21 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: dont pass iobase around

IRDA: smsc-ircc2 - cleanup - do not pass around iobase, it can be
      retrieved from smsc_ircc_cb structure.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: remove typedefs
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:20 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: remove typedefs

IRDA: smsc-ircc2 - remove excessive typedefs.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: drop DIM macro in favor of ARRAY_SIZE
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:20 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: drop DIM macro in favor of ARRAY_SIZE

IRDA: smsc-ircc2 - remove home-grown DIM macro, use ARRAY_SIZE intead.
      Also fix out-of-bound array access.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: formatting fixes
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:19 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: formatting fixes

IRDA: smsc-ircc2 - some formatting changes for better readability.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] smsc-ircc2: whitespace fixes
Dmitry Torokhov [Tue, 6 Sep 2005 22:19:17 +0000 (15:19 -0700)]
[PATCH] smsc-ircc2: whitespace fixes

IRDA: smsc-ircc2 - whitespace fixes.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix race in do_get_write_access()
Jan Kara [Tue, 6 Sep 2005 22:19:17 +0000 (15:19 -0700)]
[PATCH] Fix race in do_get_write_access()

  attached patch should fix the following race:
     Proc 1                               Proc 2

     __flush_batch()
       ll_rw_block()
                                        do_get_write_access()
   lock_buffer
                                             jh is only waiting for checkpoint
     -> b_transaction == NULL ->
     do nothing
                                           unlock_buffer
    test_set_buffer_locked()
    test_clear_buffer_dirty()
                                           __journal_file_buffer()
                                        change the data
    submit_bh()

and we have sent wrong data to disk...  We now clean the dirty buffer flag
under buffer lock in all cases and hence we know that whenever a buffer is
starting to be journaled we either finish the pending write-out before
attaching a buffer to a transaction or we won't write the buffer until the
transaction is going to be committed.

The test in jbd_unexpected_dirty_buffer() is redundant - remove it.
Furthermore we have to clear the buffer dirty bit under the buffer lock to
prevent races with buffer write-out (and hence prevent returning a buffer with
IO happening).

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Change HFS+ to not use ll_rw_block()
Jan Kara [Tue, 6 Sep 2005 22:19:16 +0000 (15:19 -0700)]
[PATCH] Change HFS+ to not use ll_rw_block()

Use block layer predefined function.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Change ll_rw_block() calls in UFS
Jan Kara [Tue, 6 Sep 2005 22:19:15 +0000 (15:19 -0700)]
[PATCH] Change ll_rw_block() calls in UFS

We need to be sure that current data are sent to disk.  Hence we call
ll_rw_block() with SWRITE.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Change ll_rw_block() calls in Reiser
Jan Kara [Tue, 6 Sep 2005 22:19:14 +0000 (15:19 -0700)]
[PATCH] Change ll_rw_block() calls in Reiser

We need to be sure that current data in buffer are sent to disk.  Hence we
need to call ll_rw_block() with SWRITE.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Change ll_rw_block() calls in JBD
Jan Kara [Tue, 6 Sep 2005 22:19:12 +0000 (15:19 -0700)]
[PATCH] Change ll_rw_block() calls in JBD

We must be sure that the current data in buffer are sent to disk.  Hence we
have to call ll_rw_block() with SWRITE.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Make ll_rw_block() wait for buffer lock
Jan Kara [Tue, 6 Sep 2005 22:19:10 +0000 (15:19 -0700)]
[PATCH] Make ll_rw_block() wait for buffer lock

Introduce new ll_rw_block() operation SWRITE meaning that block layer should
wait for the buffer lock and write-out afterwards.  Hence data in buffers at
the time of call are guaranteed to be submitted to the disk.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix JBD race in t_forget list handling
Jan Kara [Tue, 6 Sep 2005 22:19:09 +0000 (15:19 -0700)]
[PATCH] Fix JBD race in t_forget list handling

Fix race between journal_commit_transaction() and other places as
journal_unmap_buffer() that are adding buffers to transaction's t_forget list.
 We have to protect against such places by holding j_list_lock even when
traversing the t_forget list.  The fact that other places can only add buffers
to the list makes the locking easier.  OTOH the lock ranking complicates the
stuff...

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kjournald: missing JFS_UNMOUNT check
Mark Fasheh [Tue, 6 Sep 2005 22:19:08 +0000 (15:19 -0700)]
[PATCH] kjournald: missing JFS_UNMOUNT check

It seems that kjournald() may be missing a check of the JFS_UNMOUNT flag
before calling schedule().  This showed up in testing of OCFS2 recovery
where our recovery thread would hang in journal_kill_thread() called from
journal_destroy() because kjournald never got a chance to read the flag to
shut down before the schedule().

Zach pointed out the missing check which led me to hack up this trivial
patch.  It's been tested many times now and I have yet to reproduce the
hang, which was happening very regularly before.

<mild rant>
I'm guessing that we could really use some wait_event() calls with helper
functions in, well, most of jbd these days which would make a ton of the
wait code there vastly cleaner.
</mild rant>

As for why this doesn't happen in ext3 (or OCFS2 during normal
mount/unmount of the local nodes journal), I think it may that the specific
timing of events in the ocfs2 recovery thread exposes a race there.
Because ocfs2_replay_journal() is only interested in playing back the
journal, initialization and shutdown happen very quicky with no other
metadata put into that specific journal.

Acked-by: "Stephen C. Tweedie" <sct@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi: Add MMC/SD write protection switch handling
Richard Purdie [Tue, 6 Sep 2005 22:19:07 +0000 (15:19 -0700)]
[PATCH] Corgi: Add MMC/SD write protection switch handling

Add MMC/SD write protection switch handling for the Corgi platform

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi: Add keyboard and touchscreen device definitions
Richard Purdie [Tue, 6 Sep 2005 22:19:07 +0000 (15:19 -0700)]
[PATCH] Corgi: Add keyboard and touchscreen device definitions

Add keyboard and touchscreen device definitions for corgi.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Input: Add a new switch event type
Richard Purdie [Tue, 6 Sep 2005 22:19:06 +0000 (15:19 -0700)]
[PATCH] Input: Add a new switch event type

The corgi keyboard has need of a switch event type with slightly type to the
input system as recommended by the input maintainer.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] w100fb: Update corgi platform code to match new driver
Richard Purdie [Tue, 6 Sep 2005 22:19:05 +0000 (15:19 -0700)]
[PATCH] w100fb: Update corgi platform code to match new driver

This patch moves the platform specific Sharp SL-C7x0 LCD code from the
w100fb driver into a more appropriate place and updates the Corgi code to
match the new w100fb driver.

It also updates the corgi touchscreen code to match the new simplified
interface available from w100fb.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] w100fb: Rewrite for platform independence
Richard Purdie [Tue, 6 Sep 2005 22:19:03 +0000 (15:19 -0700)]
[PATCH] w100fb: Rewrite for platform independence

The code w100fb was based on was horribly Sharp SL-C7x0 specific and there
was little else that could be done as I had no access to anything else with
a w100 in it.  There is no real documentation about this chipset available.

Ian Molton has access to other platforms with the w100 (Toshiba e-series)
and so between us, we've improved w100fb and made it platform independent.
Ian Molton also added support for the very similar w3220 and w3200
chipsets.

There are a lot of changes here and it nearly amounts to a rewrite of the
driver but it has been extensively tested and is being used in preference
to the original driver in the Zaurus community.  I'd therefore like to
update the mainline code to reflect this.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Acked-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi touchscreen: Fix a pmu bug
Richard Purdie [Tue, 6 Sep 2005 22:19:02 +0000 (15:19 -0700)]
[PATCH] Corgi touchscreen: Fix a pmu bug

Corgi Touchscreen bugfix.  If the PMU isn't running, the register needs to
be set to a sane value rather than reusing some random value.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi Touchscreen: Code cleanup / fixes
Richard Purdie [Tue, 6 Sep 2005 22:19:02 +0000 (15:19 -0700)]
[PATCH] Corgi Touchscreen: Code cleanup / fixes

Clean up some Corgi Touchscreen logic and merge the repeat calls to
w100fb_blanking() in anticipation of the w100fb patch.

Fix a pm_message_t reference.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi Touchscreen: Allow the driver to share the PMU
Richard Purdie [Tue, 6 Sep 2005 22:19:01 +0000 (15:19 -0700)]
[PATCH] Corgi Touchscreen: Allow the driver to share the PMU

The Corgi Touchscreen driver uses the PMU as an accurate timing source which
conflicts with its usage for performance monitoring.  This patch allows it to
be shared with other users such as oprofile.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi Keyboard: Code tidying
Richard Purdie [Tue, 6 Sep 2005 22:19:00 +0000 (15:19 -0700)]
[PATCH] Corgi Keyboard: Code tidying

The input system handles key state tracking so there's no need for the driver
to do so as well.  Also tidy up some comment formatting and remove a now
unneeded function.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi Keyboard: Add some power management code
Richard Purdie [Tue, 6 Sep 2005 22:18:59 +0000 (15:18 -0700)]
[PATCH] Corgi Keyboard: Add some power management code

Add some power management code to the corgi keyboard driver so that only one
power event gets reported within any reasonable time frame and the driver
doesn't enter an infinte loop due to key repeat.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Corgi Keyboard: Fix a couple of compile errors
Richard Purdie [Tue, 6 Sep 2005 22:18:59 +0000 (15:18 -0700)]
[PATCH] Corgi Keyboard: Fix a couple of compile errors

Fix a couple of compile errors in the corgi keyboard driver.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mmc: conditional scr sysfs entry
Pierre Ossman [Tue, 6 Sep 2005 22:18:58 +0000 (15:18 -0700)]
[PATCH] mmc: conditional scr sysfs entry

Only show the scr file in sysfs for SD cards.  Previously this was present
for all cards but had a contents of 0 for MMC cards.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mmc: wbsd Secure Digital support
Pierre Ossman [Tue, 6 Sep 2005 22:18:57 +0000 (15:18 -0700)]
[PATCH] mmc: wbsd Secure Digital support

Add support for Secure Digital specific features in the wbsd driver.  Adds
support for read-only switch and wide bus transfers.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Add write protection switch handling to the PXA MMC driver
Richard Purdie [Tue, 6 Sep 2005 22:18:56 +0000 (15:18 -0700)]
[PATCH] Add write protection switch handling to the PXA MMC driver

Add a write protection switch handling code to the PXA MMC driver so
that platform specific code can provide it if available.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sd: SD copyright notice
Pierre Ossman [Tue, 6 Sep 2005 22:18:56 +0000 (15:18 -0700)]
[PATCH] sd: SD copyright notice

Credit where credit is due.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sd: SD 4-bit bus
Pierre Ossman [Tue, 6 Sep 2005 22:18:55 +0000 (15:18 -0700)]
[PATCH] sd: SD 4-bit bus

Infrastructure for 4-bit bus transfers with SD cards.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sd: SCR in sysfs
Pierre Ossman [Tue, 6 Sep 2005 22:18:54 +0000 (15:18 -0700)]
[PATCH] sd: SCR in sysfs

Export the SCR register through sysfs.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Brownell <david-b@pacbell.net>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sd: SCR register
Pierre Ossman [Tue, 6 Sep 2005 22:18:53 +0000 (15:18 -0700)]
[PATCH] sd: SCR register

Read the SD specific SCR register from the card.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sd: read-only switch
Pierre Ossman [Tue, 6 Sep 2005 22:18:52 +0000 (15:18 -0700)]
[PATCH] sd: read-only switch

Support for the read-only switch on SD cards which must be enforced by the
host.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sd: initialize SD cards
Pierre Ossman [Tue, 6 Sep 2005 22:18:50 +0000 (15:18 -0700)]
[PATCH] sd: initialize SD cards

Support for the Secure Digital protocol in the MMC layer.

A summary of the legal issues surrounding SD cards, as understood by yours
truly:

Members of the Secure Digital Association, hereafter SDA, are required to sign
a NDA[1] before given access to any specifications.  It has been speculated
that including an SD implementation would forbid these members to redistribute
Linux.  This is the basic problem with SD support so it is unclear if it even
is a problem since it has no effect on those of us that aren't members.

The SDA doesn't seem to enforce these rules though since the patches included
here are based on documentation made public by some of the members.  The most
complete specs[2] are actually released by Sandisk, one of the founding
companies of the SDA.

Because of this the NDA is considered a non-issue by most involved in the
discussions concerning these patches.  It might be that the SDA is only
interested in protecting the so called "secure" bits of SD, which so far
hasn't been found in any public spec.  (The card is split into two sections,
one "normal" and one "secure" which has an access scheme similar to TPM:s).

(As a side note, Microsoft is working to make things easier for us since they
want to be able to include the source code for a SD driver in one of their
development kits.  HP is making sure that the new NDA will allow a Linux
implementation.  So far only the SDIO specs have been opened up[3].  More will
hopefully follow.)

 [1] http://www.sdcard.org/membership/images/ippolicy.pdf
 [2] http://www.sandisk.com/pdf/oem/ProdManualSDCardv1.9.pdf
 [3] http://www.sdcard.org/sdio/Simplified%20SDIO%20Card%20Specification.pdf

This patch contains the central parts of the SD support.  If no MMC cards are
found on a bus then the MMC layer proceeds looking for SD cards.  Helper
functions are extended to handle the special needs of SD cards.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hfs: NLS support
Roman Zippel [Tue, 6 Sep 2005 22:18:49 +0000 (15:18 -0700)]
[PATCH] hfs: NLS support

This adds NLS support to HFS.  Using the kernel options iocharset and codepage
it's possible to map the disk encoding to a local mapping.  If these options
are not used, it falls back to the old direct mapping.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hfs: show_options support
Roman Zippel [Tue, 6 Sep 2005 22:18:48 +0000 (15:18 -0700)]
[PATCH] hfs: show_options support

This adds support for show_options.  It also fixes some namespace polution in
the hfsplus driver.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hfs: remove debug code
Roman Zippel [Tue, 6 Sep 2005 22:18:47 +0000 (15:18 -0700)]
[PATCH] hfs: remove debug code

This removes some old debug code, which is no longer needed.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi poweroff: fix chassis control
Corey Minyard [Tue, 6 Sep 2005 22:18:46 +0000 (15:18 -0700)]
[PATCH] ipmi poweroff: fix chassis control

The IPMI power control function proc_write_chassctrl was badly written, it
directly used userspace pointers, it assumed that strings were NULL
terminated, and it used the evil sscanf function.  This converts over to
using the sysctl interface for this data and changes the semantics to be a
little more logical.

Signed-off-by: Corey Minyard <minyard@acm.org>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: remove unused fields
Corey Minyard [Tue, 6 Sep 2005 22:18:45 +0000 (15:18 -0700)]
[PATCH] ipmi: remove unused fields

This removes the unused "all_cmd_rcvr" variable from the IPMI driver.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: style cleanups
Corey Minyard [Tue, 6 Sep 2005 22:18:45 +0000 (15:18 -0700)]
[PATCH] ipmi: style cleanups

Clean up various style issues in the IPMI driver.  Should be no functional
changes.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: add hacks for IPMI chassis poweroff for certain Dell servers
Corey Minyard [Tue, 6 Sep 2005 22:18:43 +0000 (15:18 -0700)]
[PATCH] ipmi: add hacks for IPMI chassis poweroff for certain Dell servers

This patch allows Dell servers with IPMI controllers that predate IPMI 1.5
to use the standard poweroff or powercycle commands.  These systems
firmware don't set the chassis capability bit in the Get Device ID, but
they do implement the standard poweroff and powercycle commands.

Tested on RHEL3 kernel 2.4.21-20.ELsmp on a PowerEdge 2600.  The standard
ipmi_poweroff driver cannot drive these systems.  With this patch, they
power off or powercycle as expected.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: fix panic ipmb response
Corey Minyard [Tue, 6 Sep 2005 22:18:42 +0000 (15:18 -0700)]
[PATCH] ipmi: fix panic ipmb response

The "null message handler" in the IPMI driver is used in startup and panic
situations to handle messages.  It was only designed to work with messages
from the local management controller, but in some cases it was used to get
messages from remote managmenet controllers, and the system would then
panic.  This patch makes the "null message handler" in the IPMI driver more
general so it works with any kind of message.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: clean up versioning of the IPMI driver
Corey Minyard [Tue, 6 Sep 2005 22:18:42 +0000 (15:18 -0700)]
[PATCH] ipmi: clean up versioning of the IPMI driver

This adds MODULE_VERSION, MODULE_DESCRIPTION, and MODULE_AUTHOR tags to the
IPMI driver modules.  Also changes the MODULE_VERSION to remove the
prepended 'v' on each value, consistent with the module versioning policy.

This patch also removes all the version information from everything except
the ipmi_msghandler module.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: OEM flag handling and hacks for some Dell machines
Corey Minyard [Tue, 6 Sep 2005 22:18:41 +0000 (15:18 -0700)]
[PATCH] ipmi: OEM flag handling and hacks for some Dell machines

The ipmi driver does not have a way to handle firmware-generated events
which have the OEM[012] Data Available flags set.  In such a case, the
SMS_ATN bit may never get cleared by firmware, leaving the driver looping
infinitely but never able to make any progress.

This patch first simplifies storage and use of the data returned from an
IPMI Get Device ID command.

It then creates a new per-OEM handler hook, which should know how to handle
events with the OEM[012] Data Available flags set.  It then uses this to
implement a workaround for IPMI 1.5-capable Dell PowerEdge servers which
are susceptable to setting the OEM[012] Data Available flags when the
driver can't handle it.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: allow userland to include ipmi.h
Corey Minyard [Tue, 6 Sep 2005 22:18:40 +0000 (15:18 -0700)]
[PATCH] ipmi: allow userland to include ipmi.h

The IPMI driver include file needs to include compiler.h so it has definitions
for __user and such.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: watchdog/NMI interaction fixes
Corey Minyard [Tue, 6 Sep 2005 22:18:39 +0000 (15:18 -0700)]
[PATCH] ipmi: watchdog/NMI interaction fixes

There are some interactions between IPMI NMI timeouts and the other operations
of the IPMI driver.  This make sure those interactions are handled properly.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: high-res timer support fixes
Corey Minyard [Tue, 6 Sep 2005 22:18:38 +0000 (15:18 -0700)]
[PATCH] ipmi: high-res timer support fixes

Fix some problems with the high-res timer support.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: add per-channel IPMB addresses
Corey Minyard [Tue, 6 Sep 2005 22:18:38 +0000 (15:18 -0700)]
[PATCH] ipmi: add per-channel IPMB addresses

IPMI allows multiple IPMB channels on a single interface, and each channel
might have a different IPMB address.  However, the driver has only one IPMB
address that it uses for everything.  This patch adds new IOCTLS and a new
internal interface for setting per-channel IPMB addresses and LUNs.  New
systems are coming out with support for multiple IPMB channels, and they are
broken without this patch.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] IPMI: use dmi_find_device()
Andrey Panin [Tue, 6 Sep 2005 22:18:37 +0000 (15:18 -0700)]
[PATCH] IPMI: use dmi_find_device()

This patch replaces homebrew DMI scanning code in IPMI System Interface driver
with dmi_find_device() call.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Cc: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ALSA: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:36 +0000 (15:18 -0700)]
[PATCH] ALSA: convert kcalloc to kzalloc

This patch introduces a memory-leak tracking version of kzalloc for ALSA.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Jiri Slaby <xslaby@fi.muni.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fs: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:35 +0000 (15:18 -0700)]
[PATCH] fs: convert kcalloc to kzalloc

This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] drivers: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:35 +0000 (15:18 -0700)]
[PATCH] drivers: convert kcalloc to kzalloc

This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:34 +0000 (15:18 -0700)]
[PATCH] USB: convert kcalloc to kzalloc

This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] input: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:33 +0000 (15:18 -0700)]
[PATCH] input: convert kcalloc to kzalloc

This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] PPC64: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:32 +0000 (15:18 -0700)]
[PATCH] PPC64: convert kcalloc to kzalloc

This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] IA64: convert kcalloc to kzalloc
Pekka Enberg [Tue, 6 Sep 2005 22:18:31 +0000 (15:18 -0700)]
[PATCH] IA64: convert kcalloc to kzalloc

This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] introduce and use kzalloc
Pekka J Enberg [Tue, 6 Sep 2005 22:18:31 +0000 (15:18 -0700)]
[PATCH] introduce and use kzalloc

This patch introduces a kzalloc wrapper and converts kernel/ to use it.  It
saves a little program text.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix: dmi_check_system
Robert Love [Tue, 6 Sep 2005 22:18:30 +0000 (15:18 -0700)]
[PATCH] fix: dmi_check_system

Background:

1) dmi_check_system() returns the count of the number of
   matches.  Zero thus means no matches.
2) A match callback can return nonzero to stop the match
   checking.

Bug: The count is incremented after we check for the nonzero return value,
so it does not reflect the actual count.  We could say this is intended,
for some dumb reason, except that it means that a match on the first check
returns zero--no matches--if the callback returns nonzero.

Attached patch implements the count before calling the callback and thus
before potentially short-circuiting.

Signed-off-by: Robert Love <rml@novell.com>
Cc: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dmi: add onboard devices discovery
Andrey Panin [Tue, 6 Sep 2005 22:18:29 +0000 (15:18 -0700)]
[PATCH] dmi: add onboard devices discovery

This patch adds onboard devices and IPMI BMC discovery into DMI scan code.
Drivers can use dmi_find_device() function to search for devices by type and
name.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dmi: make dmi_string() behave like strdup()
Andrey Panin [Tue, 6 Sep 2005 22:18:28 +0000 (15:18 -0700)]
[PATCH] dmi: make dmi_string() behave like strdup()

This patch changes dmi_string() function to allocate string copy by itself, to
avoid code duplication in the next patch.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dmi: remove old debugging code
Andrey Panin [Tue, 6 Sep 2005 22:18:28 +0000 (15:18 -0700)]
[PATCH] dmi: remove old debugging code

DMI debugging code is unused for ages.  This patch removes it.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dmi: remove uneeded function
Andrey Panin [Tue, 6 Sep 2005 22:18:26 +0000 (15:18 -0700)]
[PATCH] dmi: remove uneeded function

After elimination of central DMI blacklist dmi_scan_machine() function became
a wrapper for dmi_iterate().  This patch moves some code around to kill
unneeded function.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cifs_create() fix
Miklos Szeredi [Tue, 6 Sep 2005 22:18:26 +0000 (15:18 -0700)]
[PATCH] cifs_create() fix

cifs_create() did totally the wrong thing with nd->intent.open.flags:
it interpreted nd->intent.open.flags as the original open flags, not
the one transformed for open_namei().  Also it used the intent data
even if it was not filled in (if called from sys_mknod()).

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Steven French <sfrench@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove duplicated sys_open32() code from 64bit archs
Miklos Szeredi [Tue, 6 Sep 2005 22:18:25 +0000 (15:18 -0700)]
[PATCH] remove duplicated sys_open32() code from 64bit archs

64 bit architectures all implement their own compatibility sys_open(),
when in fact the difference is simply not forcing the O_LARGEFILE
flag.  So use the a common function instead.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove duplicated code from proc and ptrace
Miklos Szeredi [Tue, 6 Sep 2005 22:18:24 +0000 (15:18 -0700)]
[PATCH] remove duplicated code from proc and ptrace

Extract common code used by ptrace_attach() and may_ptrace_attach()
into a separate function.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix enum pid_directory_inos in proc/base.c
Miklos Szeredi [Tue, 6 Sep 2005 22:18:23 +0000 (15:18 -0700)]
[PATCH] fix enum pid_directory_inos in proc/base.c

This patch fixes wrongly placed elements in the pid_directory_inos
enum.  Also add comment so this mistake is not repeated.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] use get_fs_struct() in proc
Miklos Szeredi [Tue, 6 Sep 2005 22:18:22 +0000 (15:18 -0700)]
[PATCH] use get_fs_struct() in proc

This patch cleans up proc_cwd_link() and proc_root_link() by factoring
out common code into get_fs_struct().

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei cleanup
Miklos Szeredi [Tue, 6 Sep 2005 22:18:21 +0000 (15:18 -0700)]
[PATCH] namei cleanup

Extract common code into inline functions to make reading easier.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove iattr.ia_attr_flags
Miklos Szeredi [Tue, 6 Sep 2005 22:18:21 +0000 (15:18 -0700)]
[PATCH] remove iattr.ia_attr_flags

Remove unused ia_attr_flags from struct iattr, and related defines.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Remove maintainer's bad e-mails addresses
Jiri Slaby [Tue, 6 Sep 2005 22:18:19 +0000 (15:18 -0700)]
[PATCH] Remove maintainer's bad e-mails addresses

This patch removes 1 whole entry, which is no longer maintained and 1
e-mail, which is not right.  [comtrol was posted by Rolf Eike Beer]

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Jiri Slaby <xslaby@fi.muni.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] provide MODALIAS= enviroment variable to autoload ieee1394 modules via udev
Olaf Hering [Tue, 6 Sep 2005 22:18:18 +0000 (15:18 -0700)]
[PATCH] provide MODALIAS= enviroment variable to autoload ieee1394 modules via udev

https://bugzilla.novell.com/show_bug.cgi?id=103746

Old 2.6.13 hotplug enviroment for 'plug in firewire disk' event:

==> debug.01139.ieee1394.add.8211 <==
set -- ieee1394
UDEV_LOG='7'
ACTION='add'
DEVPATH='/class/ieee1394/00010410100036e0-0'
SUBSYSTEM='ieee1394'
SEQNUM='1139'
PHYSDEVPATH='/devices/pci0001:10/0001:10:0d.0/0001:11:0a.0/fw-host0/00010410100036e0/00010410100036e0-0'
PHYSDEVBUS='ieee1394'
VENDOR_ID='000000'
MODEL_ID='001010'
GUID='00010410100036e0'
SPECIFIER_ID='00609e'
VERSION='010483'
UDEVD_EVENT='1'

Module spb2 is not loaded.

grep sbp2 /lib/modules/2.6.13-20050901172817-default/modules.alias
alias ieee1394:ven*mo*sp0000609Ever00010483* sbp2

printf 'ieee1394:ven%08Xmo%08Xsp%08Xver%08X\n' '0x000000' '0x001010' '0x00609e' '0x010483'
ieee1394:ven00000000mo00001010sp0000609Ever00010483

modprobe -v ieee1394:ven00000000mo00001010sp0000609Ever00010483
insmod /lib/modules/2.6.13-20050901172817-default/kernel/drivers/ieee1394/sbp2.ko

Providing a MODALIAS= enviroment variable with the content above will fix it.

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] alloc_buffer_head() and free_buffer_head() cleanup
Coywolf Qi Hunt [Tue, 6 Sep 2005 22:18:17 +0000 (15:18 -0700)]
[PATCH] alloc_buffer_head() and free_buffer_head() cleanup

Signed-off-by: Coywolf Qi Hunt <qiyong@fc-cn.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] struct dentry: place d_hash close to d_parent and d_name to speedup lookups
Eric Dumazet [Tue, 6 Sep 2005 22:18:16 +0000 (15:18 -0700)]
[PATCH] struct dentry: place d_hash close to d_parent and d_name to speedup lookups

dentry cache uses sophisticated RCU technology (and prefetching if
available) but touches 2 cache lines per dentry during hlist lookup.

This patch moves d_hash in the same cache line than d_parent and d_name
fields so that :

1) One cache line is needed instead of two.

2) the hlist_for_each_rcu() prefetching has a chance to bring all the
   needed data in advance, not only the part that includes d_hash.next.

I also changed one old comment that was wrong for 64bits.

A further optimisation would be to separate dentry in two parts, one that
is mostly read, and one writen (d_count/d_lock) to avoid false sharing on
SMP/NUMA but this would need different field placement depending on 32bits
or 64bits platform.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: re-enable "dynamic sched domains"
John Hawkes [Tue, 6 Sep 2005 22:18:15 +0000 (15:18 -0700)]
[PATCH] cpusets: re-enable "dynamic sched domains"

Revert the hack introduced last week.

Signed-off-by: John Hawkes <hawkes@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: fix the "dynamic sched domains" bug
John Hawkes [Tue, 6 Sep 2005 22:18:14 +0000 (15:18 -0700)]
[PATCH] cpusets: fix the "dynamic sched domains" bug

For a NUMA system with multiple CPUs per node, declaring a cpu-exclusive
cpuset that includes only some, but not all, of the CPUs in a node will mangle
the sched domain structures.

Signed-off-by: John Hawkes <hawkes@sgi.com>
Cc; Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: Move the ia64 domain setup code to the generic code
John Hawkes [Tue, 6 Sep 2005 22:18:14 +0000 (15:18 -0700)]
[PATCH] cpusets: Move the ia64 domain setup code to the generic code

Signed-off-by: John Hawkes <hawkes@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: confine oom_killer to mem_exclusive cpuset
Paul Jackson [Tue, 6 Sep 2005 22:18:13 +0000 (15:18 -0700)]
[PATCH] cpusets: confine oom_killer to mem_exclusive cpuset

Now the real motivation for this cpuset mem_exclusive patch series seems
trivial.

This patch keeps a task in or under one mem_exclusive cpuset from provoking an
oom kill of a task under a non-overlapping mem_exclusive cpuset.  Since only
interrupt and GFP_ATOMIC allocations are allowed to escape mem_exclusive
containment, there is little to gain from oom killing a task under a
non-overlapping mem_exclusive cpuset, as almost all kernel and user memory
allocation must come from disjoint memory nodes.

This patch enables configuring a system so that a runaway job under one
mem_exclusive cpuset cannot cause the killing of a job in another such cpuset
that might be using very high compute and memory resources for a prolonged
time.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: formalize intermediate GFP_KERNEL containment
Paul Jackson [Tue, 6 Sep 2005 22:18:12 +0000 (15:18 -0700)]
[PATCH] cpusets: formalize intermediate GFP_KERNEL containment

This patch makes use of the previously underutilized cpuset flag
'mem_exclusive' to provide what amounts to another layer of memory placement
resolution.  With this patch, there are now the following four layers of
memory placement available:

 1) The whole system (interrupt and GFP_ATOMIC allocations can use this),
 2) The nearest enclosing mem_exclusive cpuset (GFP_KERNEL allocations can use),
 3) The current tasks cpuset (GFP_USER allocations constrained to here), and
 4) Specific node placement, using mbind and set_mempolicy.

These nest - each layer is a subset (same or within) of the previous.

Layer (2) above is new, with this patch.  The call used to check whether a
zone (its node, actually) is in a cpuset (in its mems_allowed, actually) is
extended to take a gfp_mask argument, and its logic is extended, in the case
that __GFP_HARDWALL is not set in the flag bits, to look up the cpuset
hierarchy for the nearest enclosing mem_exclusive cpuset, to determine if
placement is allowed.  The definition of GFP_USER, which used to be identical
to GFP_KERNEL, is changed to also set the __GFP_HARDWALL bit, in the previous
cpuset_gfp_hardwall_flag patch.

GFP_ATOMIC and GFP_KERNEL allocations will stay within the current tasks
cpuset, so long as any node therein is not too tight on memory, but will
escape to the larger layer, if need be.

The intended use is to allow something like a batch manager to handle several
jobs, each job in its own cpuset, but using common kernel memory for caches
and such.  Swapper and oom_kill activity is also constrained to Layer (2).  A
task in or below one mem_exclusive cpuset should not cause swapping on nodes
in another non-overlapping mem_exclusive cpuset, nor provoke oom_killing of a
task in another such cpuset.  Heavy use of kernel memory for i/o caching and
such by one job should not impact the memory available to jobs in other
non-overlapping mem_exclusive cpusets.

This patch enables providing hardwall, inescapable cpusets for memory
allocations of each job, while sharing kernel memory allocations between
several jobs, in an enclosing mem_exclusive cpuset.

Like Dinakar's patch earlier to enable administering sched domains using the
cpu_exclusive flag, this patch also provides a useful meaning to a cpuset flag
that had previously done nothing much useful other than restrict what cpuset
configurations were allowed.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: new __GFP_HARDWALL flag
Paul Jackson [Tue, 6 Sep 2005 22:18:10 +0000 (15:18 -0700)]
[PATCH] cpusets: new __GFP_HARDWALL flag

Add another GFP flag: __GFP_HARDWALL.

A subsequent "cpuset_zone_allowed" patch will use this flag to mark GFP_USER
allocations, and distinguish them from GFP_KERNEL allocations.

Allocations (such as GFP_USER) marked GFP_HARDWALL are constrainted to the
current tasks cpuset.  Other allocations (such as GFP_KERNEL) can steal from
the possibly larger nearest mem_exclusive cpuset ancestor, if memory is tight
on every node in the current cpuset.

This patch collides with Mel Gorman's patch to reduce fragmentation in the
standard buddy allocator, which adds two GFP flags.  This was discussed on
linux-mm in July.  Most likely, one of his flags for user reclaimable memory
can be the same as my __GFP_HARDWALL flag, under some generic name meaning its
user address space memory.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpusets: oom_kill tweaks
Paul Jackson [Tue, 6 Sep 2005 22:18:09 +0000 (15:18 -0700)]
[PATCH] cpusets: oom_kill tweaks

This patch series extends the use of the cpuset attribute 'mem_exclusive'
to support cpuset configurations that:
 1) allow GFP_KERNEL allocations to come from a potentially larger
    set of memory nodes than GFP_USER allocations, and
 2) can constrain the oom killer to tasks running in cpusets in
    a specified subtree of the cpuset hierarchy.

Here's an example usage scenario.  For a few hours or more, a large NUMA
system at a University is to be divided in two halves, with a bunch of student
jobs running in half the system under some form of batch manager, and with a
big research project running in the other half.  Each of the student jobs is
placed in a small cpuset, but should share the classic Unix time share
facilities, such as buffered pages of files in /bin and /usr/lib.  The big
research project wants no interference whatsoever from the student jobs, and
has highly tuned, unusual memory and i/o patterns that intend to make full use
of all the main memory on the nodes available to it.

In this example, we have two big sibling cpusets, one of which is further
divided into a more dynamic set of child cpusets.

We want kernel memory allocations constrained by the two big cpusets, and user
allocations constrained by the smaller child cpusets where present.  And we
require that the oom killer not operate across the two halves of this system,
or else the first time a student job runs amuck, the big research project will
likely be first inline to get shot.

Tweaking /proc/<pid>/oom_adj is not ideal -- if the big research project
really does run amuck allocating memory, it should be shot, not some other
task outside the research projects mem_exclusive cpuset.

I propose to extend the use of the 'mem_exclusive' flag of cpusets to manage
such scenarios.  Let memory allocations for user space (GFP_USER) be
constrained by a tasks current cpuset, but memory allocations for kernel space
(GFP_KERNEL) by constrained by the nearest mem_exclusive ancestor of the
current cpuset, even though kernel space allocations will still _prefer_ to
remain within the current tasks cpuset, if memory is easily available.

Let the oom killer be constrained to consider only tasks that are in
overlapping mem_exclusive cpusets (it won't help much to kill a task that
normally cannot allocate memory on any of the same nodes as the ones on which
the current task can allocate.)

The current constraints imposed on setting mem_exclusive are unchanged.  A
cpuset may only be mem_exclusive if its parent is also mem_exclusive, and a
mem_exclusive cpuset may not overlap any of its siblings memory nodes.

This patch was presented on linux-mm in early July 2005, though did not
generate much feedback at that time.  It has been built for a variety of
arch's using cross tools, and built, booted and tested for function on SN2
(ia64).

There are 4 patches in this set:
  1) Some minor cleanup, and some improvements to the code layout
     of one routine to make subsequent patches cleaner.
  2) Add another GFP flag - __GFP_HARDWALL.  It marks memory
     requests for USER space, which are tightly confined by the
     current tasks cpuset.
  3) Now memory requests (such as KERNEL) that not marked HARDWALL can
     if short on memory, look in the potentially larger pool of memory
     defined by the nearest mem_exclusive ancestor cpuset of the current
     tasks cpuset.
  4) Finally, modify the oom killer to skip any task whose mem_exclusive
     cpuset doesn't overlap ours.

Patch (1), the one time I looked on an SN2 (ia64) build, actually saved 32
bytes of kernel text space.  Patch (2) has no affect on the size of kernel
text space (it just adds a preprocessor flag).  Patches (3) and (4) added
about 600 bytes each of kernel text space, mostly in kernel/cpuset.c, which
matters only if CONFIG_CPUSET is enabled.

This patch:

This patch applies a few comment and code cleanups to mm/oom_kill.c prior to
applying a few small patches to improve cpuset management of memory placement.

The comment changed in oom_kill.c was seriously misleading.  The code layout
change in select_bad_process() makes room for adding another condition on
which a process can be spared the oom killer (see the subsequent
cpuset_nodes_overlap patch for this addition).

Also a couple typos and spellos that bugged me, while I was here.

This patch should have no material affect.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ia64 cpuset + build_sched_domains() mangles structures
John Hawkes [Tue, 6 Sep 2005 22:18:06 +0000 (15:18 -0700)]
[PATCH] ia64 cpuset + build_sched_domains() mangles structures

I've already sent this to the maintainers, and this is now being sent to a
larger community audience.  I have fixed a problem with the ia64 version of
build_sched_domains(), but a similar fix still needs to be made to the
generic build_sched_domains() in kernel/sched.c.

The "dynamic sched domains" functionality has recently been merged into
2.6.13-rcN that sees the dynamic declaration of a cpu-exclusive (a.k.a.
"isolated") cpuset and rebuilds the CPU Scheduler sched domains and sched
groups to separate away the CPUs in this cpu-exclusive cpuset from the
remainder of the non-isolated CPUs.  This allows the non-isolated CPUs to
completely ignore the isolated CPUs when doing load-balancing.

Unfortunately, build_sched_domains() expects that a sched domain will
include all the CPUs of each node in the domain, i.e., that no node will
belong in both an isolated cpuset and a non-isolated cpuset.  Declaring a
cpuset that violates this presumption will produce flawed data structures
and will oops the kernel.

To trigger the problem (on a NUMA system with >1 CPUs per node):
   cd /dev/cpuset
   mkdir newcpuset
   cd newcpuset
   echo 0 >cpus
   echo 0 >mems
   echo 1 >cpu_exclusive

I have fixed this shortcoming for ia64 NUMA (with multiple CPUs per node).
A similar shortcoming exists in the generic build_sched_domains() (in
kernel/sched.c) for NUMA, and that needs to be fixed also.  The fix
involves dynamically allocating sched_group_nodes[] and
sched_group_allnodes[] for each invocation of build_sched_domains(), rather
than using global arrays for these structures.  Care must be taken to
remember kmalloc() addresses so that arch_destroy_sched_domains() can
properly kfree() the new dynamic structures.

Signed-off-by: John Hawkes <hawkes@sgi.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] block: CFQ refcounting fix
Brian King [Tue, 6 Sep 2005 22:18:04 +0000 (15:18 -0700)]
[PATCH] block: CFQ refcounting fix

I ran across a memory leak related to the cfq scheduler. The cfq
init function increments the refcnt of the associated request_queue.

This refcount gets decremented in cfq's exit function. Since blk_cleanup_queue
only calls the elevator exit function when its refcnt goes to zero, the
request_q never gets cleaned up. It didn't look like other io schedulers were
incrementing this refcnt, so I removed the refcnt increment and it fixed the
memory leak for me.

To reproduce the problem, simply use cfq and use the scsi_host scan sysfs
attribute to scan "- - -" repeatedly on a scsi host and watch the memory
vanish.

Signed-off-by: Brian King <brking@us.ibm.com>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sunrpc: print unsigned integers in stats
Max Kellermann [Tue, 6 Sep 2005 22:18:03 +0000 (15:18 -0700)]
[PATCH] sunrpc: print unsigned integers in stats

The sunrpc stats are collected in unsigned integers, but they are printed
with '%d'.  That can result in negative numbers in /proc/net/rpc when the
highest bit of a counter is set.  The following patch changes '%d' to '%u'
where appropriate.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>