09 Jan, 2006

40 commits

  • This is a rewrite of Andi Kleen's bloat-o-meter with sorting and reporting of
    gainers/decliners. Sample output:

    add/remove: 0/8 grow/shrink: 2/0 up/down: 88/-4424 (-4336)
    function old new delta
    __copy_to_user_ll 59 103 +44
    __copy_from_user_ll 59 103 +44
    fill_note 32 - -32
    maydump 58 - -58
    dump_seek 67 - -67
    writenote 180 - -180
    elf_dump_thread_status 274 - -274
    fill_psinfo 308 - -308
    fill_prstatus 466 - -466
    elf_core_dump 3039 - -3039

    The summary line says:
    no functions added, 8 removed
    two functions grew, none shrunk
    we gained 88 bytes and lost 4424 (or -4336 net)

    This work was sponsored in part by CE Linux Forum

    Signed-off-by: Matt Mackall
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Mackall
     
  • module_init functions must be tagged __init rather than __devinit; likewise,
    module_exit functions must be tagged __exit rather than __devexit.

    Signed-off-by: Jean Delvare
    Cc: Yoichi Yuasa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • This sneaked in with one of the updates.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • It's not good if caller and callee disagree regarding the type of the
    arguments.

    In this case, this could cause problems on 64bit architectures.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Armin Schindler
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Every file should #include the headers containing the prototypes for its
    global functions.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Armin Schindler
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Factor out common code for different RUSAGE_xxx cases.

    Don't take ->sighand->siglock in RUSAGE_SELF case, suggested by Ravikiran G
    Thirumalai .

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Request the IRQ after having set everything up. Otherwise a shared interrupt
    at the right time can kill the machine.

    Found this with David Woodhouse 's
    debug-shared-irqs.patch.

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

    Andrew Morton
     
  • Signed-off-by: Ben Collins
    Cc: Sam Ravnborg
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Collins
     
  • Use first_cpu(cpu_possible_map) for the single-thread workqueue case. We
    used to hardcode 0, but that broke on systems where !cpu_possible(0) when
    workqueue_struct->cpu_workqueue_struct was changed from a static array to
    alloc_percpu.

    Commit id bce61dd49d6ba7799be2de17c772e4c701558f14 ("Fix hardcoded cpu=0 in
    workqueue for per_cpu_ptr() calls") fixed that for Ben's funky sparc64
    system, but it regressed my Power5. Offlining cpu 0 oopses upon the next
    call to queue_work for a single-thread workqueue, because now we try to
    manipulate per_cpu_ptr(wq->cpu_wq, 1), which is uninitialized.

    So we need to establish an unchanging "slot" for single-thread workqueues
    which will have a valid percpu allocation. Since alloc_percpu keys off of
    cpu_possible_map, which must not change after initialization, make this
    slot == first_cpu(cpu_possible_map).

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

    Nathan Lynch
     
  • Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a
    duplicate of ARRAY_SIZE. Some trailing whitespaces are also removed.

    drivers/block/acsi* has been left out as it's marked BROKEN.

    Signed-off-by: Tobias Klauser
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tobias Klauser
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • APM doesn't _need_ the PM_LEGACY junk, so remove it's dependancy from
    Kconfig, and ifdef the junk in the code. Whilst the ifdefs are ugly, when
    the legacy stuff gets ripped out so will the ifdefs.

    Signed-off-by: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • The CAPI message structs itself should be packed and not the location of
    single fields in the structure.

    Signed-off-by: Jan Blunck
    Acked-by: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     
  • Remove the unnecessary __attribute__((packed)) since the enum itself is packed
    and not the location of it in the structure.

    Signed-off-by: Jan Blunck
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     
  • Since version 4.1 the gcc is warning about ignored attributes. This patch is
    using the equivalent attribute on the struct instead of on each of the
    structure or union members.

    GCC Manual:
    "Specifying Attributes of Types

    packed
    This attribute, attached to struct or union type definition, specifies
    that
    each member of the structure or union is placed to minimize the memory
    required. When attached to an enum definition, it indicates that the
    smallest integral type should be used.

    Specifying this attribute for struct and union types is equivalent to
    specifying the packed attribute on each of the structure or union
    members."

    Signed-off-by: Jan Blunck
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     
  • Earlier fix removed unused phase, but that changed the values for other
    phases. Since these are exposed to userspace through ppdev, it is safer
    not to change them. Restore the unused phase value.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • free_dma() isn't implemented on ARM unless HAS_DMA is set.

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

    Andrew Morton
     
  • Adds a bit of text to Documentation/Codingstyle to state that inlining
    everything "just because" is a bad idea

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • pci.lst lists device 80862430 as another RNG

    # grep 80862430 /lib/discover/pci.lst
    80862430 bridge i810_rng 82801AB PCI Bridge

    but it's not listed in rng_pci_tbl[]

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

    Eric Van Buggenhaut
     
  • scripts/kconfig/qconf.h:25: error: extra qualification ‘ConfigSettings::’ on member ‘readSizes’
    scripts/kconfig/qconf.h:26: error: extra qualification ‘ConfigSettings::’ on member ‘writeSizes’
    scripts/kconfig/qconf.h:127: error: extra qualification ‘ConfigList::’ on member ‘updateMenuList’

    Signed-off-by: Dave Jones
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • - remove unnecessary -ENOMEM assignments
    - return correct value when buf_check_size for second time in a buffer
    - handle failures when create_workqueue and kthread_create are called
    - use kzalloc instead of kmalloc/memset 0
    - v9fs_str_copy and v9fs_str_compare were buggy, were used only in one
    place, correct the logic and move it to the place it is used.

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

    Latchesar Ionkov
     
  • Performance enhancement reducing the number of copies in the data and
    stat paths.

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

    Latchesar Ionkov
     
  • v9fs_create doesn't manage correctly the fids when it is called to create a
    directory.. The fid created by the create 9P call (newfid) and the one
    created by walking to already created file (wfidno) are not used
    consistently.

    This patch cleans up the usage of newfid and wfidno.

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

    Latchesar Ionkov
     
  • New multiplexer implementation. Decreases the number of kernel threads
    required. Better handling when the user process receives a signal.

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

    Latchesar Ionkov
     
  • If a 9pfs server crashes, v9fs_fd_close() is called. Subsequently, in
    cleaning up by performing a umount() on the FS that was provided by this
    server v9fs_fd_close() is called again, and uses the old, freed valus of
    trans->priv. This patch ensures that trans->priv can be freed only once,
    otherwise this function bails early.

    Signed-off-by: Michal Ostrowski
    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Van Hensbergen
     
  • This makes it possible for boot code to use screen_info without dragging in
    all of tty.h.

    Signed-off-by: Brian Gerst
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brian Gerst
     
  • Add EMAC to my CREDITS entry.

    Signed-off-by: Eugene Surovegin
    Signed-off-by: Linus Torvalds

    Eugene Surovegin
     
  • Add desired 'diffstat' options to use for kernel patches.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Signed-off-by: Evgeniy Polyakov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Polyakov
     
  • This patch fixes a data corruption in smb_proc_setattr_unix()
    (smb_filetype_from_mode() returns an u32, and there are only four bytes
    reserved for it in data.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maciej W. Rozycki
     
  • PTRACE_SYSEMU{,_SINGLESTEP} is actually arch specific, for now, and the
    current allocated number clashes with a ptrace code of frv, i.e.
    PTRACE_GETFDPIC. I should have submitted this much earlier, anyway we get no
    breakage for this.

    CC: Daniel Jacobowitz
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Remove the redundant spinlock in the function resolve_symbol() as we are
    not altering the module list, and we already hold the semaphore.

    Signed-off-by: Ashutosh Naik
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ashutosh Naik
     
  • Reduce the size of the pageframe for NR_CPUS>4, CONFIG_PREEMPT back to the
    minimal size by unionising both ->private and ->mapping with the pagetable
    lock.

    It uses an anonymous struct and hence requires gcc-3.x.

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

    Andrew Morton
     
  • Reorder members of the kiocb structure to make sync kiocb setup faster. By
    setting the elements sequentially, the write combining buffers on the CPU
    are able to combine the writes into a single burst, which results in fewer
    cache cycles being consumed, freeing them up for other code. This results
    in a 10-20KB/s[*] increase on the bw_unix part of LMbench on my test
    system.

    * The improvement varies based on what other patches are in the system,
    as there are a number of bottlenecks, so this number is not absolutely
    accurate.

    Signed-off-by: Benjamin LaHaise
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin LaHaise
     
  • Currently TAINT_FORCED_RMMOD is totally unused. Because it is marked as
    TAINT_FORCED_MODULE instead when user forced a module unload. This patch
    marks it correctly

    Signed-off-by: Akinobu Mita
    Cc: Rusty Russell
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Ensure that an exported symbol does not already exist in the kernel or in
    some other module's exported symbol table. This is done by checking the
    symbol tables for the exported symbol at the time of loading the module.
    Currently this is done after the relocation of the symbol.

    Signed-off-by: Ashutosh Naik
    Signed-off-by: Anand Krishnan
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ashutosh Naik
     
  • Signed-off-by: Ben Collins
    Cc: "Brown, Len"
    Cc: linux-acpi@vger.kernel.org
    Cc: Stelian Pop
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

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

    Signed-off-by: Dmitry Torokhov
    Cc: Stelian Pop
    Cc: Mattia Dongili
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • Function prototypes belong into header files.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Add a hook so architectures can validate /dev/mem mmap requests.

    This is analogous to validation we already perform in the read/write
    paths.

    The identity mapping scheme used on ia64 requires that each 16MB or
    64MB granule be accessed with exactly one attribute (write-back or
    uncacheable). This avoids "attribute aliasing", which can cause a
    machine check.

    Sample problem scenario:
    - Machine supports VGA, so it has uncacheable (UC) MMIO at 640K-768K
    - efi_memmap_init() discards any write-back (WB) memory in the first granule
    - Application (e.g., "hwinfo") mmaps /dev/mem, offset 0
    - hwinfo receives UC mapping (the default, since memmap says "no WB here")
    - Machine check abort (on chipsets that don't support UC access to WB
    memory, e.g., sx1000)

    In the scenario above, the only choices are
    - Use WB for hwinfo mmap. Can't do this because it causes attribute
    aliasing with the UC mapping for the VGA MMIO space.
    - Use UC for hwinfo mmap. Can't do this because the chipset may not
    support UC for that region.
    - Disallow the hwinfo mmap with -EINVAL. That's what this patch does.

    Signed-off-by: Bjorn Helgaas
    Cc: Hugh Dickins
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas