24 Jul, 2006

1 commit

  • The CPU hotplug locking was quite messy, with a recursive lock to
    handle the fact that both the actual up/down sequence wanted to
    protect itself from being re-entered, but the callbacks that it
    called also tended to want to protect themselves from CPU events.

    This splits the lock into two (one to serialize the whole hotplug
    sequence, the other to protect against the CPU present bitmaps
    changing). The latter still allows recursive usage because some
    subsystems (ondemand policy for cpufreq at least) had already gotten
    too used to the lax locking, but the locking mistakes are hopefully
    now less fundamental, and we now warn about recursive lock usage
    when we see it, in the hope that it can be fixed.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

22 Jul, 2006

8 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    [TIPC]: Removing useless casts
    [IPV4]: Fix nexthop realm dumping for multipath routes
    [DUMMY]: Avoid an oops when dummy_init_one() failed
    [IFB] After ifb_init_one() failed, i is increased. Decrease
    [NET]: Fix reversed error test in netif_tx_trylock
    [MAINTAINERS]: Mark LAPB as Oprhan.
    [NET]: Conversions from kmalloc+memset to k(z|c)alloc.
    [NET]: sun happymeal, little pci cleanup
    [IrDA]: Use alloc_skb() in IrDA TX path
    [I/OAT]: Remove pci_module_init() from Intel I/OAT DMA engine
    [I/OAT]: net/core/user_dma.c should #include
    [SCTP]: ADDIP: Don't use an address as source until it is ASCONF-ACKed
    [SCTP]: Set chunk->data_accepted only if we are going to accept it.
    [SCTP]: Verify all the paths to a peer via heartbeat before using them.
    [SCTP]: Unhash the endpoint in sctp_endpoint_free().
    [SCTP]: Check for NULL arg to sctp_bucket_destroy().
    [PKT_SCHED] netem: Fix slab corruption with netem (2nd try)
    [WAN]: Converted synclink drivers to use netif_carrier_*()
    [WAN]: Cosmetic changes to N2 and C101 drivers
    [WAN]: Added missing netif_dormant_off() to generic HDLC
    ...

    Linus Torvalds
     
  • A non-zero return value indicates success from spin_trylock,
    not error.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Every file should #include the headers containing the prototypes for
    its global functions.

    Especially in cases like this one where gcc can tell us through a
    compile error that the prototype was wrong...

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     
  • This implements Rules D1 and D4 of Sec 4.3 in the ADDIP draft.

    Signed-off-by: Sridhar Samudrala
    Signed-off-by: David S. Miller

    Sridhar Samudrala
     
  • This patch implements Path Initialization procedure as described in
    Sec 2.36 of RFC4460.

    Signed-off-by: Sridhar Samudrala
    Signed-off-by: David S. Miller

    Sridhar Samudrala
     
  • The m68k port's sun3 asm/oplib.h had a stray reference too, so I
    killed that off as well.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Sabre and Psycho PCI controllers can have partial interrupt-map
    properties, meaning that on-board devices don't match up to any
    entries. Instead, they are fully specified from the beginning and
    we should pass them directly to the IRQ translator as-is.

    Also, fill in the necessary translator slots for the "graphics"
    and "expansion UPA" interrupts on Sabre, Psycho, and SYSIO SBUS.

    Increase PROMREG_MAX to 24, as seen on SUNW,ffb devices.

    Finally, prevent accidentally writing past the end of the of_device
    struct resource[] and irqs[] arrays. Spit out a log message when
    we ignore some entries because there are too many of them.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (38 commits)
    [SCSI] More buffer->request_buffer changes
    [SCSI] mptfusion: bump version to 3.04.01
    [SCSI] mptfusion: misc fix's
    [SCSI] mptfusion: firmware download boot fix's
    [SCSI] mptfusion: task abort fix's
    [SCSI] mptfusion: sas nexus loss support
    [SCSI] mptfusion: sas loginfo update
    [SCSI] mptfusion: mptctl panic when loading
    [SCSI] mptfusion: sas enclosures with smart drive
    [SCSI] NCR_D700: misc fixes (section and argument ordering)
    [SCSI] scsi_debug: must_check fixes
    [SCSI] scsi_transport_sas: kill the use of channel
    [SCSI] scsi_transport_sas: add expander backlink
    [SCSI] hide EH backup data outside the scsi_cmnd
    [SCSI] ibmvscsi: handle inactive SCSI target during probe
    [SCSI] ibmvscsi: allocate lpevents for ibmvscsi on iseries
    [SCSI] aic7[9x]xx: Remove last vestiges of reverse_scan
    [SCSI] aha152x: stop poking at saved scsi_cmnd members
    [SCSI] st.c: Improve sense output
    [SCSI] lpfc 8.1.7: Change version number to 8.1.7
    ...

    Linus Torvalds
     

17 Jul, 2006

2 commits


15 Jul, 2006

26 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [VLAN]: __vlan_hwaccel_rx can use the faster ether_compare_addr
    [PKT_SCHED] HTB: initialize upper bound properly
    [IPV4]: Clear skb cb on IP input
    [NET]: Update frag_list in pskb_trim

    Linus Torvalds
     
  • set_wmb should not be used in the kernel because it just confuses the
    code more and has no benefit. Since it is not currently used in the
    kernel this patch removes it so that new code does not include it.

    All archs define set_wmb(var, value) to do { var = value; wmb(); }
    while(0) except ia64 and sparc which use a mb() instead. But this is
    still moot since it is not used anyway.

    Hasn't been tested on any archs but x86 and x86_64 (and only compiled
    tested)

    Signed-off-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Steven Rostedt
     
  • On systems with a large number of cpus, with even a modest rate of tasks
    exiting per cpu, the volume of taskstats data sent on thread exit can
    overflow a userspace listener's buffers.

    One approach to avoiding overflow is to allow listeners to get data for a
    limited and specific set of cpus. By scaling the number of listeners
    and/or the cpus they monitor, userspace can handle the statistical data
    overload more gracefully.

    In this patch, each listener registers to listen to a specific set of cpus
    by specifying a cpumask. The interest is recorded per-cpu. When a task
    exits on a cpu, its taskstats data is unicast to each listener interested
    in that cpu.

    Thanks to Andrew Morton for pointing out the various scalability and
    general concerns of previous attempts and for suggesting this design.

    [akpm@osdl.org: build fix]
    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Don't send taskstats (per-pid or per-tgid) on thread exit when no one is
    listening for such data.

    Currently the taskstats interface allocates a structure, fills it in and
    calls netlink to send out per-pid and per-tgid stats regardless of whether
    a userspace listener for the data exists (netlink layer would check for
    that and avoid the multicast).

    As a result of this patch, the check for the no-listener case is performed
    early, avoiding the redundant allocation and filling up of the taskstats
    structures.

    Signed-off-by: Balbir Singh
    Signed-off-by: Shailabh Nagar
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Send per-tgid data only once during exit of a thread group instead of once
    with each member thread exit.

    Currently, when a thread exits, besides its per-tid data, the per-tgid data
    of its thread group is also sent out, if its thread group is non-empty.
    The per-tgid data sent consists of the sum of per-tid stats for all
    *remaining* threads of the thread group.

    This patch modifies this sending in two ways:

    - the per-tgid data is sent only when the last thread of a thread group
    exits. This cuts down heavily on the overhead of sending/receiving
    per-tgid data, especially when other exploiters of the taskstats
    interface aren't interested in per-tgid stats

    - the semantics of the per-tgid data sent are changed. Instead of being
    the sum of per-tid data for remaining threads, the value now sent is the
    true total accumalated statistics for all threads that are/were part of
    the thread group.

    The patch also addresses a minor issue where failure of one accounting
    subsystem to fill in the taskstats structure was causing the send of
    taskstats to not be sent at all.

    The patch has been tested for stability and run cerberus for over 4 hours
    on an SMP.

    [akpm@osdl.org: bugfixes]
    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Export I/O delays seen by a task through /proc//stats for use in top
    etc.

    Note that delays for I/O done for swapping in pages (swapin I/O) is clubbed
    together with all other I/O here (this is not the case in the netlink
    interface where the swapin I/O is kept distinct)

    [akpm@osdl.org: printk warning fix]
    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Usage of taskstats interface by delay accounting.

    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Create a "taskstats" interface based on generic netlink (NETLINK_GENERIC
    family), for getting statistics of tasks and thread groups during their
    lifetime and when they exit. The interface is intended for use by multiple
    accounting packages though it is being created in the context of delay
    accounting.

    This patch creates the interface without populating the fields of the data
    that is sent to the user in response to a command or upon the exit of a task.
    Each accounting package interested in using taskstats has to provide an
    additional patch to add its stats to the common structure.

    [akpm@osdl.org: cleanups, Kconfig fix]
    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Two utilities for simplifying usage of NETLINK_GENERIC interface.

    Signed-off-by: Balbir Singh
    Signed-off-by: Shailabh Nagar
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Balbir Singh
     
  • Make the task-related schedstats functions callable by delay accounting even
    if schedstats collection isn't turned on. This removes the dependency of
    delay accounting on schedstats.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chandra Seetharaman
     
  • Unlike earlier iterations of the delay accounting patches, now delays are only
    collected for the actual I/O waits rather than try and cover the delays seen
    in I/O submission paths.

    Account separately for block I/O delays incurred as a result of swapin page
    faults whose frequency can be affected by the task/process' rss limit. Hence
    swapin delays can act as feedback for rss limit changes independent of I/O
    priority changes.

    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Initialization code related to collection of per-task "delay" statistics which
    measure how long it had to wait for cpu, sync block io, swapping etc. The
    collection of statistics and the interface are in other patches. This patch
    sets up the data structures and allows the statistics collection to be
    disabled through a kernel boot parameter.

    Signed-off-by: Shailabh Nagar
    Signed-off-by: Balbir Singh
    Cc: Jes Sorensen
    Cc: Peter Chubb
    Cc: Erich Focht
    Cc: Levent Serinol
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shailabh Nagar
     
  • Add another list utility function to check for last element in a list.

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

    Shailabh Nagar
     
  • Add frame buffer driver for the 2700G LCD controller present on CompuLab
    CM-X270 computer module.

    [adaplas]
    - Add more informative help text to Kconfig
    - Make DEBUG a Kconfig option as FB_MBX_DEBUG
    - Remove #include mbxdebug.c, this is frowned upon
    - Remove redundant casts
    - Arrange #include's alphabetically
    - Trivial whitespace

    Signed-off-by: Mike Rapoport
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • It's way past time to bump it to 8. Everyone had been warned - for
    months now.

    RH kernels have had this for more than a year.

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

    Al Viro
     
  • drops gpio_set_high, gpio_set_low from the nsc_gpio_ops vtable. While we
    can't drop them from scx200_gpio (or can we?), we dont need them for new users
    of the exported vtable; gpio_set(1), gpio_set(0) work fine.

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

    Jim Cromie
     
  • Add support for the I2C-attached Intersil ISL1208 RTC chip.

    [akpm@osdl.org: cleanups, fixlets]
    Signed-off-by: Herbert Valerio Riedel
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Herbert Valerio Riedel
     
  • There's no excuse for userspace abusing this kernel header -- the kernel's
    headers are not intended to provide a library of helper routines for
    userspace. Using from userspace is broken on most architectures
    anyway. Just say 'no'.

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

    David Woodhouse
     
  • This isn't suitable for userspace to see -- the kernel headers are not a
    random library of stuff for userspace; they're only there to define the
    kerneluser ABI for system libraries and tools. Anything which _was_
    abusing asm/atomic.h from userspace was probably broken anyway -- as it often
    didn't even give atomic operation.

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

    David Woodhouse
     
  • Remove asm/irq.h from the exported headers -- there was never any good reason
    for it to have been listed.

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

    David Woodhouse
     
  • Remove the now-unneeded kthread_stop_sem().

    Signed-off-by: Adrian Bunk
    Acked-by: Alan Stern
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Got a customer bug report (https://bugzilla.novell.com/190296) about kernel
    symbols longer than 127 characters which end up in a string buffer that is
    not NULL terminated, leading to garbage in /proc/kallsyms. Using strlcpy
    prevents this from happening, even though such symbols still won't come out
    right.

    A better fix would be to not use a fixed-size buffer, but it's probably not
    worth the trouble. (Modversion'ed symbols even have a length limit of 60.)

    [bunk@stusta.de: build fix]
    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Gruenbacher
     
  • __vunmap must not rely on area->nr_pages when picking the release methode
    for area->pages. It may be too small when __vmalloc_area_node failed early
    due to lacking memory. Instead, use a flag in vmstruct to differentiate.

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

    Jan Kiszka
     
  • ib_fmr_pool_map_phys gets the virtual address by pointer but never writes
    there, and users (e.g. srp) seem to assume this and ignore the value
    returned. This patch cleans up the API to get the VA by value, and updates
    all users.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael S. Tsirkin
     
  • The device address contains unsigned character arrays, which contain raw GID
    addresses. The GIDs may not be naturally aligned, so do not cast them to
    structures or unions.

    Signed-off-by: Sean Hefty
    Signed-off-by: Michael S. Tsirkin
    Cc: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael S. Tsirkin
     
  • The inline function compare_ether_addr is faster than memcmp.
    Also, don't need to drag in proc_fs.h, the only reference to proc_dir_entry
    is a pointer so the declaration is needed here.

    Signed-off-by: Stephen Hemminger
    Acked-by: Ben Greear
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

14 Jul, 2006

3 commits

  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (53 commits)
    [MIPS] sparsemem: fix crash in show_mem
    [MIPS] vr41xx: Update workpad setup function
    [MIPS] vr41xx: Update e55 setup function
    [MIPS] vr41xx: Removed old v2.4 VRC4173 driver
    [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h
    [MIPS] MIPSsim: Build fix, rename sim_timer_setup -> plat_timer_setup.
    [MIPS] Remove unused code.
    [MIPS] IP22 Fix brown paper bag in RTC code.
    [MIPS] Atlas, Malta, SEAD: Don't disable interrupts in mips_time_init().
    [MIPS] Replace board_timer_setup function pointer by plat_timer_setup.
    [MIPS] Nuke redeclarations of board_time_init.
    [MIPS] Remove redeclarations of setup_irq().
    [MIPS] Nuke redeclarations of board_timer_setup.
    [MIPS] Print out TLB handler assembly for debugging.
    [MIPS] SMTC: Reformat to Linux style.
    [MIPS] MIPSsim: Delete redeclaration of ll_local_timer_interrupt.
    [MIPS] IP27: Reformatting.
    [MIPS] IP27: Invoke setup_irq for timer interrupt so proc stats will be shown.
    [MIPS] IP27: irq_chip startup method returns unsigned int.
    [MIPS] IP27: struct irq_desc member handler was renamed to chip.
    ...

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-serial:
    [SERIAL] 8250: sysrq deadlock fix
    [SERIAL] 8250: add tsi108 serial support
    [SERIAL] IP22: fix serial console hangs
    [SERIAL] dz: Fix compilation error

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] arch/arm/kernel/bios32.c: no need to set isa_bridge
    [ARM] 3729/3: EABI padding rules necessitate the packed attribute of floatx80
    [ARM] 3725/1: sharpsl_pm: warn about wrong temperature
    [ARM] 3723/1: collie charging
    [ARM] 3728/1: Restore missing CPU Hotplug irq helper
    [ARM] 3727/1: fix ucb initialization on collie
    [ARM] Allow Versatile to be built for AB and PB
    [ARM] 3726/1: update {ep93xx,ixp2000,ixp23xx,lpd270,onearm} defconfigs to 2.6.18-rc1
    [ARM] 3721/1: Small cleanup for locomo.c

    Linus Torvalds