22 Mar, 2006

40 commits

  • More atomic operation removal from page allocator

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • In the page release paths, we can be sure that nobody will mess with our
    page->flags because the refcount has dropped to 0. So no need for atomic
    operations here.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • PG_active is protected by zone->lru_lock, it does not need TestSet/TestClear
    operations.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • PG_lru is protected by zone->lru_lock. It does not need TestSet/TestClear
    operations.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • If vmscan finds a zero refcount page on the lru list, never ClearPageLRU
    it. This means the release code need not hold ->lru_lock to stabilise
    PageLRU, so that lock may be skipped entirely when releasing !PageLRU pages
    (because we know PageLRU won't have been temporarily cleared by vmscan,
    which was previously guaranteed by holding the lock to synchronise against
    vmscan).

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • set_pgdir isn't needed anymore for a very long time. Remove the leftover
    implementation on sh64 and the stub on s390.

    Signed-off-by: Christoph Hellwig
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Richard Curnow
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Do not use platform_device_register_simple() as it is going away, define
    dcdbas_driver and implement ->probe() and ->remove() functions so manual
    binding and unbinding will work with this driver.

    Also switch to using attribute_group when creating sysfs attributes and
    make sure to check and handle errors; explicitely remove attributes when
    detaching driver.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • Do not use platform_device_register_simple() as it is going away.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • mv64x600_wdt: convert to the new platform device interface Do not use
    platform_device_register_simple() as it is going away.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • The patch does the following for v441xx seris drivers:

    - stop using platform_device_register_simple() as it is going away
    - mark ->probe() and ->remove() methods as __devinit and __devexit
    respectively
    - initialize "owner" field in driver structure so there is a link
    from /sys/modules to the driver
    - mark *_init() and *_exit() functions as __init and __exit

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • Sam's tree includes a new check, which found that we're exporting strpbrk()
    multiple times.

    It seems that the convention is that this is exported from the arch files, so
    reove the lib/string.c export.

    Cc: Sam Ravnborg
    Cc: Yoshinori Sato
    Cc: David Howells
    Cc: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Update the serial_txx9 driver.

    * More strict check in verify_port. Cleanup.
    * Do not insert a char caused previous overrun.
    * Fix some spin_locks.
    * Do not call uart_add_one_port for absent ports.

    Also, this patch removes a BROKEN tag from Kconfig. This driver has been
    marked as BROKEN by removal of uart_register_port, but it has been solved
    already on Sep 2005.

    Signed-off-by: Atsushi Nemoto
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Git patch 52dfa9a64cfb3dd01fa1ee1150d589481e54e28e

    [PATCH] move rtc_interrupt() prototype to rtc.h

    broke strace(1) builds. The below moves the kernel-only additions lower,
    under the already provided #ifdef __KERNEL__ statement.

    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Korty
     
  • The code that handles bios that span table target boundaries by breaking
    them up into smaller bios will not split an individual struct bio_vec into
    more than two pieces. Sometimes more than that are required.

    This patch adds a loop to break the second piece up into as many pieces as
    are necessary.

    Cc: "Abhishek Gupta"
    Cc: Dan Smith
    Signed-off-by: Alasdair G Kergon
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • A bare bones trivial patch to ensure we always get -EINVAL on the
    unsupported cases for sys_unshare. If this goes in before 2.6.16 it allows
    us to forward compatible with future applications using sys_unshare.

    Signed-off-by: Eric W. Biederman
    Cc: JANAK DESAI
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • __get_page_state() has an open-coded for_each_cpu_mask() loop in it.

    Tidy that up, then notice that the code was buggy:

    while (cpu < NR_CPUS) {
    unsigned long *in, *out, off;

    if (!cpu_isset(cpu, *cpumask))
    continue;

    an obvious infinite loop. I guess we just never call it with a holey cpu
    mask.

    Even after my cpumask size-reduction work, this patch increases code size :(

    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • This variable is rarely written to. Mark the variable accordingly.

    Signed-off-by: Ravikiran Thirumalai
    Signed-off-by: Shai Fultheim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ravikiran G Thirumalai
     
  • If a file is not found in v9fs_vfs_lookup, the function creates negative
    dentry, but doesn't assign any dentry ops. This leaves the negative entry
    in the cache (there is no d_delete to mark it for removal). If the file is
    created outside of the mounted v9fs filesystem, the file shows up in the
    directory with weird permissions.

    This patch assigns the default v9fs dentry ops to the negative dentry.

    Signed-off-by: Latchesar Ionkov
    Signed-off-by: Eric Van Hensbergen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Latchesar Ionkov
     
  • The console cursor can be called in atomic context. Change memory
    allocation to use the GFP_ATOMIC flag in i810fb_cursor().

    Signed-off-by: Antonino Daplas
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • arch/i386/kernel/efi.c: In function `efi_call_phys_epilog': arch/i386/kernel/efi.c:118: warning: assignment makes integer from pointer without a cast

    Cc: Matt Domsch
    Cc: "Tolentino, Matthew E"
    Cc: Zachary Amsden
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • check_acpi_pci() is called from arch/i386/kernel/setup.c even if
    CONFIG_ACPI is not defined, but the code in include/asm/acpi.h doesn't
    provide it in this case.

    Signed-off-by: Herbert Pötzl
    Cc: "Brown, Len"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Herbert Poetzl
     
  • Remove the sleep_avg multiplier. This multiplier was necessary back when
    we had 10 seconds of dynamic range in sleep_avg, but now that we only have
    one second, it causes that one second to be compressed down to 100ms in
    some cases. This is particularly noticeable when compiling a kernel in a
    slow NFS mount, and I believe it to be a very likely candidate for other
    recently reported network related interactivity problems.

    In testing, I can detect no negative impact of this removal.

    Signed-off-by: Mike Galbraith
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Galbraith
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64-SGI] SN2-XP reduce kmalloc wrapper inlining
    [IA64] MCA: remove obsolete ifdef
    [IA64] MCA: update MCA comm field for user space tasks
    [IA64] MCA: print messages in MCA handler
    [IA64-SGI] - Eliminate SN pio_phys_xxx macros. Move to assembly
    [IA64] use icc defined constant
    [IA64] add __builtin_trap definition for icc build
    [IA64] clean up asm/intel_intrin.h
    [IA64] map ia64_hint definition to intel compiler intrinsic
    [IA64] hooks to wait for mmio writes to drain when migrating processes
    [IA64-SGI] driver bugfixes and hardware workarounds for CE1.0 asic
    [IA64-SGI] Handle SC env. powerdown events
    [IA64] Delete MCA/INIT sigdelayed code
    [IA64-SGI] sem2mutex ioc4.c
    [IA64] implement ia64 specific mutex primitives
    [IA64] Fix UP build with BSP removal support.
    [IA64] support for cpu0 removal

    Linus Torvalds
     
  • This reverts commit 08f1d0b99f4e2203935d86640a7fec5c233b777c

    The "bt8xx/ conversion" for drivers/video/ hasn't actually percolated
    all the way to this tree, so the Makefile change escaped too soon.

    Build breakage noticed by Jeff Garzik

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Jeff Garzik
     
  • - undo some Lindent damage by indenting member names
    - remove history at top of .c file, this is stored in the kernel
    repo changelog (in greater detail, even).

    Jeff Garzik
     
  • Jeff Garzik
     
  • drivers/net/skfp/fplustm.c: In function `enable_formac':
    drivers/net/skfp/fplustm.c:552: warning: large integer implicitly truncated to unsigned type
    drivers/net/skfp/fplustm.c:555: warning: large integer implicitly truncated to unsigned type

    These arguments were changed to `const', so the compiler can now see that it's
    doing and outw(..., 0xffffnnnn). Cast the arg to ushort.

    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Andrew Morton
     
  • All accessor's different methods are now selected with C code and unused
    ones statically optimized away at compile time instead of being selected
    with #if's and #ifdef's. This has many advantages such as allowing the
    compiler to validate the syntax of the whole code, making it cleaner and
    easier to understand, and ultimately allowing people to define
    configuration symbols in terms of variables if they really want to
    dynamically support multiple bus configurations at the same time (with
    the unavoidable performance cost).

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Jeff Garzik

    Nicolas Pitre
     
  • Boards with multiple PHYs were not being handled properly by the pcnet32
    driver. This patch by Thomas Bogendoerfer with changes by me will allow
    Allied Telesyn 2700FTX and 2701FTX boards to use either the copper or
    the fiber interfaces. It has been tested on ia32 and ppc64 hardware.
    Philippe Seewer also tested and improved the patch.
    ethtool for pcnet32 already supports multiple phys.

    See also bugzilla bug 4219.

    Please apply to 2.6.16

    Signed-off-by: Don Fry
    Signed-off-by: Jeff Garzik

    Don Fry
     
  • Set version to 1.1

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • The hardware has additional error trap interrupt bits. I have never seen
    them trigger, but if they do, it looks like this might be useful.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • This patch decodes state and revovers from any races in the transmit
    timeout and NAPI logic. It should never trigger, but if it does then
    do the right thing.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Small whitespace fixes.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Add MSI support to sky2 driver.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Change default coalescing parameters slightly, and allow wider
    range of values.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Redo the interupt handling of sky2 driver based on the IRQ mangement
    documentation. All interrupts are handled by the device0 NAPI poll
    routine.

    Don't need to adjust interrupt mask in IRQ context, done only when
    changing device under RTNL. Therefore don't need hwlock anymore.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Remove wake on lan support for now. It doesn't work right, and I
    don't have a machine with working suspend/resume to test or fix it.
    It will be re-enabled later.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • The Yukon EC/rev0 (A1) chipset requires a bunch of workarounds. I copied these
    from sk98lin. But since they never got tested and add more cruft to the code;
    any attempt at using driver as is on this version will probably fail.

    It looks like this was a early engineering sample chip revision, if it ever shows
    up on a real system. Produce an error message.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • When I/O is non-cache-coherent, we need to ensure that the I/O buffers
    we use don't share cache lines with other data.

    Signed-off-by: Dale Farnsworth
    Signed-off-by: Jeff Garzik

    Dale Farnsworth