29 Mar, 2009

2 commits

  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (422 commits)
    [ARM] 5435/1: fix compile warning in sanity_check_meminfo()
    [ARM] 5434/1: ARM: OMAP: Fix mailbox compile for 24xx
    [ARM] pxa: fix the bad assumption that PCMCIA sockets always start with 0
    [ARM] pxa: fix Colibri PXA300 and PXA320 LCD backlight pins
    imxfb: Fix TFT mode
    i.MX21/27: remove ifdef CONFIG_FB_IMX
    imxfb: add clock support
    mxc: add arch_reset() function
    clkdev: add possibility to get a clock based on the device name
    i.MX1: remove fb support from mach-imx
    [ARM] pxa: build arch/arm/plat-pxa/mfp.c only when PXA3xx or ARCH_MMP defined
    Gemini: Add support for Teltonika RUT100
    Gemini: gpiolib based GPIO support v2
    MAINTAINERS: add myself as Gemini architecture maintainer
    ARM: Add Gemini architecture v3
    [ARM] OMAP: Fix compile for omap2_init_common_hw()
    MAINTAINERS: Add myself as Faraday ARM core variant maintainer
    ARM: Add support for FA526 v2
    [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h
    [ARM] collie: fix two minor formatting nits
    ...

    Linus Torvalds
     
  • Conflicts:
    sound/soc/pxa/pxa2xx-i2s.c

    Russell King
     

28 Mar, 2009

2 commits


27 Mar, 2009

5 commits

  • David S. Miller
     
  • * 'sched-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits)
    sched: Add comments to find_busiest_group() function
    sched: Refactor the power savings balance code
    sched: Optimize the !power_savings_balance during fbg()
    sched: Create a helper function to calculate imbalance
    sched: Create helper to calculate small_imbalance in fbg()
    sched: Create a helper function to calculate sched_domain stats for fbg()
    sched: Define structure to store the sched_domain statistics for fbg()
    sched: Create a helper function to calculate sched_group stats for fbg()
    sched: Define structure to store the sched_group statistics for fbg()
    sched: Fix indentations in find_busiest_group() using gotos
    sched: Simple helper functions for find_busiest_group()
    sched: remove unused fields from struct rq
    sched: jiffies not printed per CPU
    sched: small optimisation of can_migrate_task()
    sched: fix typos in documentation
    sched: add avg_overlap decay
    x86, sched_clock(): mark variables read-mostly
    sched: optimize ttwu vs group scheduling
    sched: TIF_NEED_RESCHED -> need_reshed() cleanup
    sched: don't rebalance if attached on NULL domain
    ...

    Linus Torvalds
     
  • Conflicts:
    drivers/net/wimax/i2400m/usb-notif.c

    David S. Miller
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (61 commits)
    Dynamic debug: fix pr_fmt() build error
    Dynamic debug: allow simple quoting of words
    dynamic debug: update docs
    dynamic debug: combine dprintk and dynamic printk
    sysfs: fix some bin_vm_ops errors
    kobject: don't block for each kobject_uevent
    sysfs: only allow one scheduled removal callback per kobj
    Driver core: Fix device_move() vs. dpm list ordering, v2
    Driver core: some cleanup on drivers/base/sys.c
    Driver core: implement uevent suppress in kobject
    vcs: hook sysfs devices into object lifetime instead of "binding"
    driver core: fix passing platform_data
    driver core: move platform_data into platform_device
    sysfs: don't block indefinitely for unmapped files.
    driver core: move knode_bus into private structure
    driver core: move knode_driver into private structure
    driver core: move klist_children into private structure
    driver core: create a private portion of struct device
    driver core: remove polling for driver_probe_done(v5)
    sysfs: reference sysfs_dirent from sysfs inodes
    ...

    Fixed conflicts in drivers/sh/maple/maple.c manually

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (29 commits)
    crypto: sha512-s390 - Add missing block size
    hwrng: timeriomem - Breaks an allyesconfig build on s390:
    nlattr: Fix build error with NET off
    crypto: testmgr - add zlib test
    crypto: zlib - New zlib crypto module, using pcomp
    crypto: testmgr - Add support for the pcomp interface
    crypto: compress - Add pcomp interface
    netlink: Move netlink attribute parsing support to lib
    crypto: Fix dead links
    hwrng: timeriomem - New driver
    crypto: chainiv - Use kcrypto_wq instead of keventd_wq
    crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq
    crypto: api - Use dedicated workqueue for crypto subsystem
    crypto: testmgr - Test skciphers with no IVs
    crypto: aead - Avoid infinite loop when nivaead fails selftest
    crypto: skcipher - Avoid infinite loop when cipher fails selftest
    crypto: api - Fix crypto_alloc_tfm/create_create_tfm return convention
    crypto: api - crypto_alg_mod_lookup either tested or untested
    crypto: amcc - Add crypt4xx driver
    crypto: ansi_cprng - Add maintainer
    ...

    Linus Torvalds
     

26 Mar, 2009

1 commit


25 Mar, 2009

6 commits

  • Allow simple quoting of words in the dynamic debug control language.

    This allows more natural specification when using the control language
    to match against printk formats, e.g

    #echo -n 'format "Setting node for non-present cpu" +p' >
    /mnt/debugfs/dynamic_debug/control

    instead of

    #echo -n 'format Setting\040node\040for\040non-present\040cpu +p' >
    /mnt/debugfs/dynamic_debug/control

    Adjust the dynamic debug documention to describe that and provide a
    new example. Adjust the existing examples in the documentation to
    reflect the current whitespace escaping behaviour when reading the
    control file. Fix some minor documentation trailing whitespace.

    Signed-off-by: Greg Banks
    Acked-by: Jason Baron
    Signed-off-by: Greg Kroah-Hartman

    Greg Banks
     
  • updates the documentation for 'dynamic debug' feature.

    Signed-off-by: Greg Banks
    Signed-off-by: Jason Baron
    Signed-off-by: Greg Kroah-Hartman

    Jason Baron
     
  • This patch combines Greg Bank's dprintk() work with the existing dynamic
    printk patchset, we are now calling it 'dynamic debug'.

    The new feature of this patchset is a richer /debugfs control file interface,
    (an example output from my system is at the bottom), which allows fined grained
    control over the the debug output. The output can be controlled by function,
    file, module, format string, and line number.

    for example, enabled all debug messages in module 'nf_conntrack':

    echo -n 'module nf_conntrack +p' > /mnt/debugfs/dynamic_debug/control

    to disable them:

    echo -n 'module nf_conntrack -p' > /mnt/debugfs/dynamic_debug/control

    A further explanation can be found in the documentation patch.

    Signed-off-by: Greg Banks
    Signed-off-by: Jason Baron
    Signed-off-by: Greg Kroah-Hartman

    Jason Baron
     
  • Right now, the kobject_uevent code blocks for each uevent that's being
    generated, due to using (for hystoric reasons) UHM_WAIT_EXEC as flag to
    call_usermode_helper(). Specifically, the effect is that each uevent
    that is being sent causes the code to wake up keventd, then block until
    keventd has processed the work. Needless to say, this happens many times
    during the system boot.

    This patches changes that to UHN_NO_WAIT (brilliant name for a constant
    btw) so that we only schedule the work to fire the uevent message, but
    do not wait for keventd to process the work.

    This removes one of the bottlenecks during boot; each one of them is
    only a small effect, but the sum of them does add up.

    [Note, distros that need this are broken, they should be setting
    CONFIG_UEVENT_HELPER_PATH to "", that way this code path will never be
    excuted at all -- gregkh]

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Greg Kroah-Hartman

    Arjan van de Ven
     
  • This patch implements uevent suppress in kobject and removes it
    from struct device, based on the following ideas:

    1,Uevent sending should be one attribute of kobject, so suppressing it
    in kobject layer is more natural than in device layer. By this way,
    we can do it for other objects embedded with kobject.

    2,It may save several bytes for each instance of struct device.(On my
    omap3(32bit ARM) based box, can save 8bytes per device object)

    This patch also introduces dev_set|get_uevent_suppress() helpers to
    set and query uevent_suppress attribute in case to help kobject
    as private part of struct device in future.

    [This version is against the latest driver-core patch set of Greg,please
    ignore the last version.]

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • Now that all users of bus_id is gone, we can remove it from struct
    device.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

18 Mar, 2009

1 commit


14 Mar, 2009

1 commit


13 Mar, 2009

2 commits


11 Mar, 2009

2 commits

  • We moved the netlink attribute support from net to lib in order
    for it to be available for general consumption. However, parts
    of the code (the bits that we don't need :) really depends on
    NET because the target object is sk_buff.

    This patch fixes this by wrapping them in CONFIG_NET.

    Some EXPORTs have been moved to make this work.

    Tested-by: Geert Uytterhoeven
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Fix a problem in the IDR system, where an idr_remove_all() hands a data
    element to call_rcu() (via free_layer()) before making that data element
    inaccessible to new readers. This is very bad, and results in readers
    still having a reference to this data element at the end of the grace
    period.

    Tests on large machines that concurrently map and unmap user-space memory
    within the same multithreaded process result in crashes within about five
    minutes. Applying this patch increases the kernel's longevity to the
    three-to-eight-hour range.

    There appear to be other similar problems in idr_get_empty_slot() and
    sub_remove(), but I fixed the easy one in idr_remove_all() first. It is
    therefore no surprise that failures still occur.

    Located-by: Milton Miller II
    Tested-by: Milton Miller II
    Signed-off-by: Paul E. McKenney
    Cc: Manfred Spraul
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney
     

06 Mar, 2009

1 commit


04 Mar, 2009

2 commits


26 Feb, 2009

1 commit


24 Feb, 2009

1 commit


21 Feb, 2009

1 commit


20 Feb, 2009

1 commit


19 Feb, 2009

1 commit


09 Feb, 2009

1 commit


06 Feb, 2009

1 commit

  • Currently, netlink_broadcast() reports errors to the caller if no
    messages at all were delivered:

    1) If, at least, one message has been delivered correctly, returns 0.
    2) Otherwise, if no messages at all were delivered due to skb_clone()
    failure, return -ENOBUFS.
    3) Otherwise, if there are no listeners, return -ESRCH.

    With this patch, the caller knows if the delivery of any of the
    messages to the listeners have failed:

    1) If it fails to deliver any message (for whatever reason), return
    -ENOBUFS.
    2) Otherwise, if all messages were delivered OK, returns 0.
    3) Otherwise, if no listeners, return -ESRCH.

    In the current ctnetlink code and in Netfilter in general, we can add
    reliable logging and connection tracking event delivery by dropping the
    packets whose events were not successfully delivered over Netlink. Of
    course, this option would be settable via /proc as this approach reduces
    performance (in terms of filtered connections per seconds by a stateful
    firewall) but providing reliable logging and event delivery (for
    conntrackd) in return.

    This patch also changes some clients of netlink_broadcast() that
    may report ENOBUFS errors via printk. This error handling is not
    of any help. Instead, the userspace daemons that are listening to
    those netlink messages should resync themselves with the kernel-side
    if they hit ENOBUFS.

    BTW, netlink_broadcast() clients include those that call
    cn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they
    internally call netlink_broadcast() and return its error value.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     

30 Jan, 2009

1 commit

  • Impact: fix debug_smp_processor_id() for CONFIG_CPUMASK_OFFSTACK=y

    The scheduler now uses the new cpumask API, which deals up to
    nr_cpumask_bits, whereas the API used NR_CPUS bits.

    If CONFIG_CPUMASK_OFFSTACK=y these two are not equal, so the top bits
    are undefined. Leading to bug 12518 "BUG: using smp_processor_id() in
    preemptible [00000000] code: dellWirelessCtl/..."

    The fix is simple: use the modern API in the check.

    Signed-off-by: Rusty Russell
    Signed-off-by: Mike Travis
    Signed-off-by: Ingo Molnar

    Rusty Russell
     

27 Jan, 2009

2 commits

  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debugobjects: add and use INIT_WORK_ON_STACK
    rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR
    relay: fix lock imbalance in relay_late_setup_files
    oprofile: fix uninitialized use of struct op_entry
    rcu: move Kconfig menu
    softlock: fix false panic which can occur if softlockup_thresh is reduced
    rcu: add __cpuinit to rcu_init_percpu_data()

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)
    xen: unitialised return value in xenbus_write_transaction
    x86: fix section mismatch warning
    x86: unmask CPUID levels on Intel CPUs, fix
    x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.
    x86: use standard PIT frequency
    xen: handle highmem pages correctly when shrinking a domain
    x86, mm: fix pte_free()
    xen: actually release memory when shrinking domain
    x86: unmask CPUID levels on Intel CPUs
    x86: add MSR_IA32_MISC_ENABLE bits to <asm/msr-index.h>
    x86: fix PTE corruption issue while mapping RAM using /dev/mem
    x86: mtrr fix debug boot parameter
    x86: fix page attribute corruption with cpa()
    Revert "x86: signal: change type of paramter for sys_rt_sigreturn()"
    x86: use early clobbers in usercopy*.c
    x86: remove kernel_physical_mapping_init() from init section
    fix: crash: IP: __bitmap_intersects+0x48/0x73
    cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write
    work_on_cpu: Use our own workqueue.
    work_on_cpu: don't try to get_online_cpus() in work_on_cpu.
    ...

    Linus Torvalds
     

22 Jan, 2009

2 commits


19 Jan, 2009

1 commit

  • Commit da4276b8299a6544dc41ac2485d3ffca5811b3fb changed a dependency
    for FRAME_POINTER from X86 to ARCH_WANT_FRAME_POINTERS, but didn't
    actually define it.

    This patch adds the definition for ARCH_WANT_FRAME_POINTERS. Without it,
    FRAME_POINTER can't be enabled on x86.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Ingo Molnar

    Jeff Mahoney
     

16 Jan, 2009

2 commits

  • Ingo Molnar wrote:

    > here's a new build failure with tip/sched/rt:
    >
    > LD .tmp_vmlinux1
    > kernel/built-in.o: In function `set_curr_task_rt':
    > sched.c:(.text+0x3675): undefined reference to `plist_del'
    > kernel/built-in.o: In function `pick_next_task_rt':
    > sched.c:(.text+0x37ce): undefined reference to `plist_del'
    > kernel/built-in.o: In function `enqueue_pushable_task':
    > sched.c:(.text+0x381c): undefined reference to `plist_del'

    Eliminate the plist library kconfig and make it available
    unconditionally.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • David points out that the idr_remove_all() function returns unused slabs
    to the kmem cache, but needs to zero them first or else they will be
    uninitialized upon next use. This causes crashes which have been observed
    in the firewire subsystem.

    He fixed this by zeroing the object before freeing it in idr_remove_all().

    But we agree that simply removing the constructor and zeroing the object
    at allocation time is simpler than relying upon slab constructor machinery
    and might even be faster.

    This problem was introduced by "idr: make idr_remove rcu-safe" (commit
    cf481c20c476ad2c0febdace9ce23f5a4db19582), which was first released in
    2.6.27.

    There are no known codesites which trigger this bug in 2.6.27 or 2.6.28.
    The post-2.6.28 firewire changes are the only known triggerer.

    There might of course be not-yet-discovered triggerers in 2.6.27 and
    2.6.28, and there might be out-of-tree triggerers which are added to those
    kernel versions. I'll let the -stable guys decide whether they want to
    backport this fix.

    Reported-by: David Moore
    Cc: Stefan Richter
    Cc: Nadia Derbey
    Cc: Paul E. McKenney
    Cc: Manfred Spraul
    Cc: Kristian Hgsberg
    Acked-by: Pekka Enberg
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton