27 Jul, 2011

7 commits

  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • Use debugfs_remove_recursive() to simplify initialization and
    deinitialization of fault injection debugfs files.

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

    Akinobu Mita
     
  • Minor cosmetic changes for simple attribute of stacktrace_depth:

    - use min_t()
    - reduce #ifdef by moving a function
    - do not use partly capitalized function name

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

    Akinobu Mita
     
  • No need to include linux/kallsyms.h.

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

    Akinobu Mita
     
  • NUMA_NO_NODE and numa_node_id() have different meanings. NUMA_NO_NODE is
    obviously the recommended fallback.

    Signed-off-by: KOSAKI Motohiro
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • Adapt new API fashion.

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

    KOSAKI Motohiro
     
  • [ This patch has already been accepted as commit 0ac0c0d0f837 but later
    reverted (commit 35926ff5fba8) because it itroduced arch specific
    __node_random which was defined only for x86 code so it broke other
    archs. This is a followup without any arch specific code. Other than
    that there are no functional changes.]

    Some workloads that create a large number of small files tend to assign
    too many pages to node 0 (multi-node systems). Part of the reason is
    that the rotor (in cpuset_mem_spread_node()) used to assign nodes starts
    at node 0 for newly created tasks.

    This patch changes the rotor to be initialized to a random node number
    of the cpuset.

    [akpm@linux-foundation.org: fix layout]
    [Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]
    [mhocko@suse.cz: Make it arch independent]
    [akpm@linux-foundation.org: fix CONFIG_NUMA=y, MAX_NUMNODES>1 build]
    Signed-off-by: Jack Steiner
    Signed-off-by: Lee Schermerhorn
    Signed-off-by: Michal Hocko
    Reviewed-by: KOSAKI Motohiro
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Paul Menage
    Cc: Jack Steiner
    Cc: Robin Holt
    Cc: David Rientjes
    Cc: Christoph Lameter
    Cc: David Rientjes
    Cc: Jack Steiner
    Cc: KOSAKI Motohiro
    Cc: Lee Schermerhorn
    Cc: Michal Hocko
    Cc: Paul Menage
    Cc: Pekka Enberg
    Cc: Robin Holt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     

26 Jul, 2011

5 commits

  • * Merge akpm patch series: (122 commits)
    drivers/connector/cn_proc.c: remove unused local
    Documentation/SubmitChecklist: add RCU debug config options
    reiserfs: use hweight_long()
    reiserfs: use proper little-endian bitops
    pnpacpi: register disabled resources
    drivers/rtc/rtc-tegra.c: properly initialize spinlock
    drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()
    drivers/rtc: add support for Qualcomm PMIC8xxx RTC
    drivers/rtc/rtc-s3c.c: support clock gating
    drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200
    init: skip calibration delay if previously done
    misc/eeprom: add eeprom access driver for digsy_mtc board
    misc/eeprom: add driver for microwire 93xx46 EEPROMs
    checkpatch.pl: update $logFunctions
    checkpatch: make utf-8 test --strict
    checkpatch.pl: add ability to ignore various messages
    checkpatch: add a "prefer __aligned" check
    checkpatch: validate signature styles and To: and Cc: lines
    checkpatch: add __rcu as a sparse modifier
    checkpatch: suggest using min_t or max_t
    ...

    Did this as a merge because of (trivial) conflicts in
    - Documentation/feature-removal-schedule.txt
    - arch/xtensa/include/asm/uaccess.h
    that were just easier to fix up in the merge than in the patch series.

    Linus Torvalds
     
  • This function is required by *printf and kstrto* functions that are
    located in the different modules. This patch makes _tolower() public.
    However, it's good idea to not use the helper outside of mentioned
    functions.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Andy Shevchenko
    Acked-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • The symbol 'lcm' is exported to the kernel (EXPORT_SYMBOL_GPL).
    Pick up it's definition in to quiet the sparse noise:

    warning: symbol 'lcm' was not declared. Should it be static?

    Signed-off-by: H Hartley Sweeten
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     
  • devres uses the pointer value as key after it's freed, which is safe but
    triggers spurious use-after-free warnings on some static analysis tools.
    Rearrange code to avoid such warnings.

    Signed-off-by: Maxin B. John
    Reviewed-by: Rolf Eike Beer
    Acked-by: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maxin B John
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    fs: Merge split strings
    treewide: fix potentially dangerous trailing ';' in #defined values/expressions
    uwb: Fix misspelling of neighbourhood in comment
    net, netfilter: Remove redundant goto in ebt_ulog_packet
    trivial: don't touch files that are removed in the staging tree
    lib/vsprintf: replace link to Draft by final RFC number
    doc: Kconfig: `to be' -> `be'
    doc: Kconfig: Typo: square -> squared
    doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
    drivers/net: static should be at beginning of declaration
    drivers/media: static should be at beginning of declaration
    drivers/i2c: static should be at beginning of declaration
    XTENSA: static should be at beginning of declaration
    SH: static should be at beginning of declaration
    MIPS: static should be at beginning of declaration
    ARM: static should be at beginning of declaration
    rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
    Update my e-mail address
    PCIe ASPM: forcedly -> forcibly
    gma500: push through device driver tree
    ...

    Fix up trivial conflicts:
    - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
    - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
    - drivers/net/r8169.c (just context changes)

    Linus Torvalds
     

25 Jul, 2011

2 commits

  • is needed for min_t. The old version
    happened to work on x86 because
    indirectly includes , but it didn't
    work on ARM.

    includes so it's
    not necessary to include it explicitly anymore.

    Signed-off-by: Lasse Collin
    Cc: stable
    Signed-off-by: Linus Torvalds

    Lasse Collin
     
  • * 'for-upstream' of git://openrisc.net/jonas/linux: (24 commits)
    OpenRISC: Add MAINTAINERS entry
    OpenRISC: Miscellaneous
    OpenRISC: Library routines
    OpenRISC: Headers
    OpenRISC: Traps
    OpenRISC: Module support
    OpenRISC: GPIO
    OpenRISC: Scheduling/Process management
    OpenRISC: Idle/Power management
    OpenRISC: System calls
    OpenRISC: IRQ
    OpenRISC: Timekeeping
    OpenRISC: DMA
    OpenRISC: PTrace
    OpenRISC: Build infrastructure
    OpenRISC: Signal handling
    OpenRISC: Memory management
    OpenRISC: Device tree
    OpenRISC: Boot code
    iomap: make IOPORT/PCI mapping functions conditional
    ...

    Linus Torvalds
     

23 Jul, 2011

3 commits

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

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)
    sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair
    sched: Replace use of entity_key()
    sched: Separate group-scheduling code more clearly
    sched: Reorder root_domain to remove 64 bit alignment padding
    sched: Do not attempt to destroy uninitialized rt_bandwidth
    sched: Remove unused function cpu_cfs_rq()
    sched: Fix (harmless) typo 'CONFG_FAIR_GROUP_SCHED'
    sched, cgroup: Optimize load_balance_fair()
    sched: Don't update shares twice on on_rq parent
    sched: update correct entity's runtime in check_preempt_wakeup()
    xtensa: Use generic config PREEMPT definition
    h8300: Use generic config PREEMPT definition
    m32r: Use generic PREEMPT config
    sched: Skip autogroup when looking for all rt sched groups
    sched: Simplify mutex_spin_on_owner()
    sched: Remove rcu_read_lock() from wake_affine()
    sched: Generalize sleep inside spinlock detection
    sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT
    sched: Isolate preempt counting in its own config option
    sched: Remove pointless in_atomic() definition check
    ...

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

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: Fix lockdep_no_validate against IRQ states
    mutex: Make mutex_destroy() an inline function
    plist: Remove the need to supply locks to plist heads
    lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option

    Linus Torvalds
     
  • Use the CONFIG_HAS_IOPORT and CONFIG_PCI options to decide whether or
    not functions for mapping these areas are provided.

    Signed-off-by: Jonas Bonn
    Acked-by: Arnd Bergmann

    Jonas Bonn
     

22 Jul, 2011

1 commit


15 Jul, 2011

1 commit


14 Jul, 2011

1 commit


08 Jul, 2011

2 commits

  • This was legacy code brought over from the RT tree and
    is no longer necessary.

    Signed-off-by: Dima Zavin
    Acked-by: Thomas Gleixner
    Cc: Daniel Walker
    Cc: Steven Rostedt
    Cc: Peter Zijlstra
    Cc: Andi Kleen
    Cc: Lai Jiangshan
    Link: http://lkml.kernel.org/r/1310084879-10351-2-git-send-email-dima@android.com
    Signed-off-by: Ingo Molnar

    Dima Zavin
     
  • …t-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debugobjects: Fix boot crash when kmemleak and debugobjects enabled

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    jump_label: Fix jump_label update for modules
    oprofile, x86: Fix race in nmi handler while starting counters

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Disable (revert) SCHED_LOAD_SCALE increase
    sched, cgroups: Fix MIN_SHARES on 64-bit boxen

    Linus Torvalds
     

07 Jul, 2011

1 commit

  • Reduce the number of variables modified by the loop in do_csum() by 1,
    which seems like a good idea. On Nios II (a RISC CPU with 3-operand
    instruction set) it reduces the loop from 7 to 6 instructions, including
    the conditional branch.

    Signed-off-by: Ian Abbott
    Signed-off-by: David S. Miller

    Ian Abbott
     

05 Jul, 2011

1 commit


01 Jul, 2011

1 commit


23 Jun, 2011

1 commit

  • The sleeping inside spinlock detection is actually used
    for more general sleeping inside atomic sections
    debugging: preemption disabled, rcu read side critical
    sections, interrupts, interrupt disabled, etc...

    Change the name of the config and its help section to
    reflect its more general role.

    Signed-off-by: Frederic Weisbecker
    Acked-by: Paul E. McKenney
    Acked-by: Randy Dunlap
    Cc: Peter Zijlstra
    Cc: Ingo Molnar

    Frederic Weisbecker
     

21 Jun, 2011

1 commit


20 Jun, 2011

1 commit

  • Order of initialization look like this:
    ...
    debugobjects
    kmemleak
    ...(lots of other subsystems)...
    workqueues (through early initcall)
    ...

    debugobjects use schedule_work for batch freeing of its data and kmemleak
    heavily use debugobjects, so when it comes to freeing and workqueues were
    not initialized yet, kernel crashes:

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] __queue_work+0x29/0x41a
    [] queue_work_on+0x16/0x1d
    [] queue_work+0x29/0x55
    [] schedule_work+0x13/0x15
    [] free_object+0x90/0x95
    [] debug_check_no_obj_freed+0x187/0x1d3
    [] ? _raw_spin_unlock_irqrestore+0x30/0x4d
    [] ? free_object_rcu+0x68/0x6d
    [] kmem_cache_free+0x64/0x12c
    [] free_object_rcu+0x68/0x6d
    [] __rcu_process_callbacks+0x1b6/0x2d9
    ...

    because system_wq is NULL.

    Fix it by checking if workqueues susbystem was initialized before using.

    Signed-off-by: Marcin Slusarz
    Cc: Catalin Marinas
    Cc: Tejun Heo
    Cc: Dipankar Sarma
    Cc: Paul E. McKenney
    Cc: stable@kernel.org
    Link: http://lkml.kernel.org/r/20110528112342.GA3068@joi.lan
    Signed-off-by: Thomas Gleixner

    Marcin Slusarz
     

17 Jun, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    AFS: Use i_generation not i_version for the vnode uniquifier
    AFS: Set s_id in the superblock to the volume name
    vfs: Fix data corruption after failed write in __block_write_begin()
    afs: afs_fill_page reads too much, or wrong data
    VFS: Fix vfsmount overput on simultaneous automount
    fix wrong iput on d_inode introduced by e6bc45d65d
    Delay struct net freeing while there's a sysfs instance refering to it
    afs: fix sget() races, close leak on umount
    ubifs: fix sget races
    ubifs: split allocation of ubifs_info into a separate function
    fix leak in proc_set_super()

    Linus Torvalds
     

16 Jun, 2011

1 commit

  • Fix new kernel-doc warnings in lib/bitmap.c:

    Warning(lib/bitmap.c:596): No description found for parameter 'buf'
    Warning(lib/bitmap.c:596): Excess function parameter 'bp' description in '__bitmap_parselist'

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

    Randy Dunlap
     

13 Jun, 2011

1 commit

  • * new refcount in struct net, controlling actual freeing of the memory
    * new method in kobj_ns_type_operations (->drop_ns())
    * ->current_ns() semantics change - it's supposed to be followed by
    corresponding ->drop_ns(). For struct net in case of CONFIG_NET_NS it bumps
    the new refcount; net_drop_ns() decrements it and calls net_free() if the
    last reference has been dropped. Method renamed to ->grab_current_ns().
    * old net_free() callers call net_drop_ns() instead.
    * sysfs_exit_ns() is gone, along with a large part of callchain
    leading to it; now that the references stored in ->ns[...] stay valid we
    do not need to hunt them down and replace them with NULL. That fixes
    problems in sysfs_lookup() and sysfs_readdir(), along with getting rid
    of sb->s_instances abuse.

    Note that struct net *shutdown* logics has not changed - net_cleanup()
    is called exactly when it used to be called. The only thing postponed by
    having a sysfs instance refering to that struct net is actual freeing of
    memory occupied by struct net.

    Signed-off-by: Al Viro

    Al Viro
     

10 Jun, 2011

3 commits


09 Jun, 2011

1 commit


07 Jun, 2011

1 commit

  • By default the io_tlb_nslabs is set to zero, and gets set to
    whatever value is passed in via swiotlb_init_with_tbl function.
    The default value passed in is 64MB. However, if the user provides
    the 'swiotlb=' the default value is ignored and
    the value provided by the user is used... Except when the SWIOTLB
    is used under Xen - there the default value of 64MB is used and
    the Xen-SWIOTLB has no mechanism to get the 'io_tlb_nslabs' filled
    out by setup_io_tlb_npages functions. This patch provides a function
    for the Xen-SWIOTLB to call to see if the io_tlb_nslabs is set
    and if so use that value.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Konrad Rzeszutek Wilk

    FUJITA Tomonori
     

04 Jun, 2011

2 commits

  • The brcm80211 driver in the staging tree has a cordic function to
    determine cosine and sine for a given angle. Feedback received from
    John Linville suggested that these kind of functions should be made
    available to others as a library function in the kernel tree. The
    b43 driver also has a cordic angle calculation implemented.

    Cc: linux-kernel@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: "John W. Linville"
    Cc: Greg Kroah-Hartman
    Cc: Dan Carpenter
    Cc: Randy Dunlap
    Cc: Larry Finger
    Reviewed-by: Roland Vossen
    Reviewed-by: Henry Ptasinski
    Reviewed-by: Franky (Zhenhui) Lin
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Arend van Spriel
     
  • The brcm80211 driver in staging tree uses a crc8 function. Based on
    feedback from John Linville to move this to lib directory, the linux
    source has been searched. Although there is currently only one other
    kernel driver using this algorithm (ie. drivers/ssb) we are providing
    this as a library function for others to use.

    Cc: linux-kernel@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: Dan Carpenter
    Cc: George Spelvin
    Cc: Randy Dunlap
    Reviewed-by: Henry Ptasinski
    Reviewed-by: Roland Vossen
    Reviewed-by: "Franky (Zhenhui) Lin"
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Arend van Spriel
     

02 Jun, 2011

1 commit


28 May, 2011

1 commit