09 Aug, 2010

1 commit


07 Aug, 2010

4 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (28 commits)
    driver core: device_rename's new_name can be const
    sysfs: Remove owner field from sysfs struct attribute
    powerpc/pci: Remove owner field from attribute initialization in PCI bridge init
    regulator: Remove owner field from attribute initialization in regulator core driver
    leds: Remove owner field from attribute initialization in bd2802 driver
    scsi: Remove owner field from attribute initialization in ARCMSR driver
    scsi: Remove owner field from attribute initialization in LPFC driver
    cgroupfs: create /sys/fs/cgroup to mount cgroupfs on
    Driver core: Add BUS_NOTIFY_BIND_DRIVER
    driver core: fix memory leak on one error path in bus_register()
    debugfs: no longer needs to depend on SYSFS
    sysfs: Fix one more signature discrepancy between sysfs implementation and docs.
    sysfs: fix discrepancies between implementation and documentation
    dcdbas: remove a redundant smi_data_buf_free in dcdbas_exit
    dmi-id: fix a memory leak in dmi_id_init error path
    sysfs: sysfs_chmod_file's attr can be const
    firmware: Update hotplug script
    Driver core: move platform device creation helpers to .init.text (if MODULE=n)
    Driver core: reduce duplicated code for platform_device creation
    Driver core: use kmemdup in platform_device_add_resources
    ...

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Ioremap: fix wrong physical address handling in PAT code
    x86, tlb: Clean up and correct used type
    x86, iomap: Fix wrong page aligned size calculation in ioremapping code
    x86, mm: Create symbolic index into address_markers array
    x86, ioremap: Fix normal ram range check
    x86, ioremap: Fix incorrect physical address handling in PAE mode
    x86-64, mm: Initialize VDSO earlier on 64 bits
    x86, kmmio/mmiotrace: Fix double free of kmmio_fault_pages

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

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)
    tracing/kprobes: unregister_trace_probe needs to be called under mutex
    perf: expose event__process function
    perf events: Fix mmap offset determination
    perf, powerpc: fsl_emb: Restore setting perf_sample_data.period
    perf, powerpc: Convert the FSL driver to use local64_t
    perf tools: Don't keep unreferenced maps when unmaps are detected
    perf session: Invalidate last_match when removing threads from rb_tree
    perf session: Free the ref_reloc_sym memory at the right place
    x86,mmiotrace: Add support for tracing STOS instruction
    perf, sched migration: Librarize task states and event headers helpers
    perf, sched migration: Librarize the GUI class
    perf, sched migration: Make the GUI class client agnostic
    perf, sched migration: Make it vertically scrollable
    perf, sched migration: Parameterize cpu height and spacing
    perf, sched migration: Fix key bindings
    perf, sched migration: Ignore unhandled task states
    perf, sched migration: Handle ignored migrate out events
    perf: New migration tool overview
    tracing: Drop cpparg() macro
    perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
    ...

    Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c

    Linus Torvalds
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    Revert "net: Make accesses to ->br_port safe for sparse RCU"
    mce: convert to rcu_dereference_index_check()
    net: Make accesses to ->br_port safe for sparse RCU
    vfs: add fs.h to define struct file
    lockdep: Add an in_workqueue_context() lockdep-based test function
    rcu: add __rcu API for later sparse checking
    rcu: add an rcu_dereference_index_check()
    tree/tiny rcu: Add debug RCU head objects
    mm: remove all rcu head initializations
    fs: remove all rcu head initializations, except on_stack initializations
    powerpc: remove all rcu head initializations

    Linus Torvalds
     

06 Aug, 2010

2 commits

  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    modpost: support objects with more than 64k sections
    trivial: fix a typo in a filename
    frv: clean up arch/frv/Makefile
    kbuild: allow assignment to {A,C}FLAGS_KERNEL on the command line
    kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line
    Kbuild: Add option to set -femit-struct-debug-baseonly
    Makefile: "make kernelrelease" should show the correct full kernel version
    Makefile.build: make KBUILD_SYMTYPES work again

    Linus Torvalds
     
  • debugfs no longer uses 'kernel_subsys' (which is gone), and other
    kernel/ksysfs.c code is always built, so DEBUG_FS does not need
    to depend on SYSFS.

    Fixes this kconfig warning:

    warning: (TREE_RCU_TRACE || AMD_IOMMU_STATS && AMD_IOMMU || MTD_UBI_DEBUG && MTD && SYSFS && MTD_UBI || UBIFS_FS_DEBUG && MISC_FILESYSTEMS && UBIFS_FS || DEBUG_KMEMLEAK && DEBUG_KERNEL && EXPERIMENTAL && !MEMORY_HOTPLUG && (X86 || ARM || PPC || S390 || SPARC64 || SUPERH || MICROBLAZE) && SYSFS || TRACING || X86_PTDUMP && DEBUG_KERNEL || BLK_DEV_IO_TRACE && TRACING_SUPPORT && FTRACE && SYSFS && BLOCK) selects DEBUG_FS which has unmet direct dependencies (SYSFS)

    Signed-off-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

05 Aug, 2010

5 commits

  • * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (49 commits)
    microblaze: Add KGDB support
    microblaze: Support brki rX, 0x18 for user application debugging
    microblaze: Remove nop after MSRCLR/SET, MTS, MFS instructions
    microblaze: Simplify syscall rutine
    microblaze: Move PT_MODE saving to delay slot
    microblaze: Fix _interrupt function
    microblaze: Fix _user_exception function
    microblaze: Put together addik instructions
    microblaze: Use delay slot in syscall macros
    microblaze: Save kernel mode in delay slot
    microblaze: Do not mix register saving and mode setting
    microblaze: Move SAVE_STATE upward
    microblaze: entry.S: Macro optimization
    microblaze: Optimize hw exception rutine
    microblaze: Implement clear_ums macro and fix SAVE_STATE macro
    microblaze: Remove additional setup for kernel_mode
    microblaze: Optimize SAVE_STATE macro
    microblaze: Remove additional loading
    microblaze: Completely remove working with R11 register
    microblaze: Do not setup BIP in _debug_exception
    ...

    Linus Torvalds
     
  • Conflicts:
    kernel/Makefile

    Merge reason: Add the now complete topic, fix the conflict.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)
    phy/marvell: add 88ec048 support
    igb: Program MDICNFG register prior to PHY init
    e1000e: correct MAC-PHY interconnect register offset for 82579
    hso: Add new product ID
    can: Add driver for esd CAN-USB/2 device
    l2tp: fix export of header file for userspace
    can-raw: Fix skb_orphan_try handling
    Revert "net: remove zap_completion_queue"
    net: cleanup inclusion
    phy/marvell: add 88e1121 interface mode support
    u32: negative offset fix
    net: Fix a typo from "dev" to "ndev"
    igb: Use irq_synchronize per vector when using MSI-X
    ixgbevf: fix null pointer dereference due to filter being set for VLAN 0
    e1000e: Fix irq_synchronize in MSI-X case
    e1000e: register pm_qos request on hardware activation
    ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice
    net: Add getsockopt support for TCP thin-streams
    cxgb4: update driver version
    cxgb4: add new PCI IDs
    ...

    Manually fix up conflicts in:
    - drivers/net/e1000e/netdev.c: due to pm_qos registration
    infrastructure changes
    - drivers/net/phy/marvell.c: conflict between adding 88ec048 support
    and cleaning up the IDs
    - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req
    conflict (registration change vs marking it static)

    Linus Torvalds
     
  • …/git/konrad/swiotlb-2.6

    * 'stable/swiotlb-0.8.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6:
    swiotlb: Make swiotlb bookkeeping functions visible in the header file.
    swiotlb: search and replace "int dir" with "enum dma_data_direction dir"
    swiotlb: Make internal bookkeeping functions have 'swiotlb_tbl' prefix.
    swiotlb: add the swiotlb initialization function with iotlb memory
    swiotlb: add swiotlb_tbl_map_single library function

    Linus Torvalds
     

04 Aug, 2010

3 commits


27 Jul, 2010

1 commit


21 Jul, 2010

1 commit


14 Jul, 2010

2 commits

  • Newer gcc has a -femit-struct-debug-baseonly option that dramatically
    reduces the size of object files with debug info. What it does
    is to only emit type information for structures when the structures
    are defined in the same file or in a header file.

    This means the type information for most headers are not included.
    This is not good when the type information is actually
    needed (e.g. with kgdb or systemtap)

    But often kernel hackers only care about line numbers and don't
    need all the type information anyways. In this case setting
    the option can be a big win:

    A build dir for a specific x86-64 configuration with gcc 4.5
    shrunk from 2.3G to 1.2G. The compilation was also nearly a minute
    faster.

    Signed-off-by: Andi Kleen
    [mmarek: reformatted help text]
    Signed-off-by: Michal Marek

    Andi Kleen
     
  • via following scripts

    FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')

    sed -i \
    -e 's/lmb/memblock/g' \
    -e 's/LMB/MEMBLOCK/g' \
    $FILES

    for N in $(find . -name lmb.[ch]); do
    M=$(echo $N | sed 's/lmb/memblock/g')
    mv $N $M
    done

    and remove some wrong change like lmbench and dlmb etc.

    also move memblock.c from lib/ to mm/

    Suggested-by: Ingo Molnar
    Acked-by: "H. Peter Anvin"
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Linus Torvalds
    Signed-off-by: Yinghai Lu
    Signed-off-by: Benjamin Herrenschmidt

    Yinghai Lu
     

12 Jul, 2010

1 commit


10 Jul, 2010

1 commit

  • Current x86 ioremap() doesn't handle physical address higher than
    32-bit properly in X86_32 PAE mode. When physical address higher than
    32-bit is passed to ioremap(), higher 32-bits in physical address is
    cleared wrongly. Due to this bug, ioremap() can map wrong address to
    linear address space.

    In my case, 64-bit MMIO region was assigned to a PCI device (ioat
    device) on my system. Because of the ioremap()'s bug, wrong physical
    address (instead of MMIO region) was mapped to linear address space.
    Because of this, loading ioatdma driver caused unexpected behavior
    (kernel panic, kernel hangup, ...).

    Signed-off-by: Kenji Kaneshige
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    Kenji Kaneshige
     

07 Jul, 2010

1 commit


05 Jul, 2010

3 commits

  • Reimplement augmented RB-trees without sprinkling extra branches
    all over the RB-tree code (which lives in the scheduler hot path).

    This approach is 'borrowed' from Fabio's BFQ implementation and
    relies on traversing the rebalance path after the RB-tree-op to
    correct the heap property for insertion/removal and make up for
    the damage done by the tree rotations.

    For insertion the rebalance path is trivially that from the new
    node upwards to the root, for removal it is that from the deepest
    node in the path from the to be removed node that will still
    be around after the removal.

    [ This patch also fixes a video driver regression reported by
    Ali Gholami Rudi - the memtype->subtree_max_end was updated
    incorrectly. ]

    Acked-by: Suresh Siddha
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Peter Zijlstra
    Tested-by: Ali Gholami Rudi
    Cc: Fabio Checconi
    Cc: "H. Peter Anvin"
    Cc: Andrew Morton
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • We should initialize the module dynamic debug datastructures
    only after determining that the module is not loaded yet. This
    fixes a bug that introduced in 2.6.35-rc2, where when a trying
    to load a module twice, we also load it's dynamic printing data
    twice which causes all sorts of nasty issues. Also handle
    the dynamic debug cleanup later on failure.

    Signed-off-by: Yehuda Sadeh
    Signed-off-by: Rusty Russell (removed a #ifdef)
    Signed-off-by: Linus Torvalds

    Yehuda Sadeh
     
  • Add the ability to print a format and va_list from a structure pointer

    Allows __dev_printk to be implemented as a single printk while
    minimizing string space duplication.

    %pV should not be used without some mechanism to verify the
    format and argument use ala __attribute__(format (printf(...))).

    Signed-off-by: Joe Perches
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    Joe Perches
     

01 Jul, 2010

1 commit

  • Conflicts:
    fs/fs-writeback.c

    Merge reason: Resolve the conflict

    Note, i picked the version from Linus's tree, which effectively reverts
    the fs-writeback.c bits of:

    b97181f: fs: remove all rcu head initializations, except on_stack initializations

    As the upstream changes to this file changed this code heavily and the
    first attempt to resolve the conflict resulted in a non-booting kernel.
    It's safer to re-try this portion of the commit cleanly.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

30 Jun, 2010

1 commit

  • bitmap_find_next_zero_area requires the size of the bitmap, we instead
    passed the last suitable position. This made it impossible to allocate
    from the end of the pool.

    Fixes a regression introduced by 243797f59b748f679ab88d456fcc4f92236d724b
    ("genalloc: use bitmap_find_next_zero_area").

    Signed-off-by: Imre Deak
    Cc: Zygo Blaxell
    Cc: Tejun Heo
    Acked-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Imre Deak
     

23 Jun, 2010

1 commit


17 Jun, 2010

2 commits


15 Jun, 2010

1 commit

  • Helps finding racy users of call_rcu(), which results in hangs because list
    entries are overwritten and/or skipped.

    Changelog since v4:
    - Bissectability is now OK
    - Now generate a WARN_ON_ONCE() for non-initialized rcu_head passed to
    call_rcu(). Statically initialized objects are detected with
    object_is_static().
    - Rename rcu_head_init_on_stack to init_rcu_head_on_stack.
    - Remove init_rcu_head() completely.

    Changelog since v3:
    - Include comments from Lai Jiangshan

    This new patch version is based on the debugobjects with the newly introduced
    "active state" tracker.

    Non-initialized entries are all considered as "statically initialized". An
    activation fixup (triggered by call_rcu()) takes care of performing the debug
    object initialization without issuing any warning. Since we cannot increase the
    size of struct rcu_head, I don't see much room to put an identifier for
    statically initialized rcu_head structures. So for now, we have to live without
    "activation without explicit init" detection. But the main purpose of this debug
    option is to detect double-activations (double call_rcu() use of a rcu_head
    before the callback is executed), which is correctly addressed here.

    This also detects potential internal RCU callback corruption, which would cause
    the callbacks to be executed twice.

    Signed-off-by: Mathieu Desnoyers
    CC: David S. Miller
    CC: "Paul E. McKenney"
    CC: akpm@linux-foundation.org
    CC: mingo@elte.hu
    CC: laijs@cn.fujitsu.com
    CC: dipankar@in.ibm.com
    CC: josh@joshtriplett.org
    CC: dvhltc@us.ibm.com
    CC: niv@us.ibm.com
    CC: tglx@linutronix.de
    CC: peterz@infradead.org
    CC: rostedt@goodmis.org
    CC: Valdis.Kletnieks@vt.edu
    CC: dhowells@redhat.com
    CC: eric.dumazet@gmail.com
    CC: Alexey Dobriyan
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Lai Jiangshan

    Mathieu Desnoyers
     

07 Jun, 2010

5 commits

  • We put the functions dealing with the operations on
    the SWIOTLB buffer in the header and make those functions non-static.
    And also make the functions exported via EXPORT_SYMBOL_GPL.

    See "swiotlb: swiotlb: add swiotlb_tbl_map_single library function" for
    full description of patchset.

    [v2: swiotlb_sync_single_range_for_* no more. Remove usage.]

    Signed-off-by: Konrad Rzeszutek Wilk
    Acked-by: FUJITA Tomonori
    Tested-by: Albert Herranz

    Konrad Rzeszutek Wilk
     
  • .. to catch anybody doing something funky.

    See "swiotlb: swiotlb: add swiotlb_tbl_map_single library function" for
    full description of patchset.

    [v2: swiotlb_sync_single_range_* no more - removed usage]
    [v3: enum dma_data_direction direction -> enum dma_data_direction dir]

    Signed-off-by: Konrad Rzeszutek Wilk
    Acked-by: FUJITA Tomonori
    Tested-by: Albert Herranz

    Konrad Rzeszutek Wilk
     
  • The functions that operate on io_tlb_list/io_tlb_start/io_tlb_orig_addr
    have the prefix 'swiotlb_tbl' now.

    See "swiotlb: swiotlb: add swiotlb_tbl_map_single library function" for
    full description of patchset.

    Signed-off-by: Konrad Rzeszutek Wilk
    Acked-by: FUJITA Tomonori
    Tested-by: Albert Herranz

    Konrad Rzeszutek Wilk
     
  • This enables the caller to initialize swiotlb with its own iotlb
    memory.

    See "swiotlb: swiotlb: add swiotlb_tbl_map_single library function" for
    full description of patchset.

    [v2: changed ..with_tlb to ..with_tbl]

    Signed-off-by: FUJITA Tomonori
    Reviewed-by: Konrad Rzeszutek Wilk
    Tested-by: Albert Herranz

    FUJITA Tomonori
     
  • swiotlb_tbl_map_single() takes the dma address of iotlb instead of
    using swiotlb_virt_to_bus().

    [v2: changed swiotlb_tlb to swiotlb_tbl]
    [v3: changed u64 to dma_addr_t]

    This patch:

    This is a set of patches that separate the address translation
    (virt_to_phys, virt_to_bus, etc) and allocation of the SWIOTLB buffer
    from the SWIOTLB library.

    The idea behind this set of patches is to make it possible to have separate
    mechanisms for translating virtual to physical or virtual to DMA addresses
    on platforms which need an SWIOTLB, and where physical != PCI bus address
    and also to allocate the core IOTLB memory outside SWIOTLB.

    One customers of this is the pv-ops project, which can switch between
    different modes of operation depending on the environment it is running in:
    bare-metal or virtualized (Xen for now). Another is the Wii DMA - used to
    implement the MEM2 DMA facility needed by its EHCI controller (for details:
    http://lkml.org/lkml/2010/5/18/303)

    On bare-metal SWIOTLB is used when there are no hardware IOMMU. In virtualized
    environment it used when PCI pass-through is enabled for the guest. The problems
    with PCI pass-through is that the guest's idea of PFN's is not the real thing.
    To fix that, there is translation layer for PFN->machine frame number and vice-versa.
    To bubble that up to the SWIOTLB layer there are two possible solutions.

    One solution has been to wholesale copy the SWIOTLB, stick it in
    arch/x86/xen/swiotlb.c and modify the virt_to_phys, phys_to_virt and others
    to use the Xen address translation functions. Unfortunately, since the kernel can
    run on bare-metal, there would be big code overlap with the real SWIOTLB.
    (git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git xen/dom0/swiotlb-new)

    Another approach, which this set of patches explores, is to abstract the
    address translation and address determination functions away from the
    SWIOTLB book-keeping functions. This way the core SWIOTLB library functions
    are present in one place, while the address related functions are in
    a separate library that can be loaded when running under non-bare-metal platform.

    Changelog:
    Since the last posting [v8.2] Konrad has done:
    - Added this changelog in the patch and referenced in the other patches
    this description.
    - 'enum dma_data_direction direction' to 'enum dma.. dir' so to be
    unified.
    [v8-v8.2 changes:]
    - Rolled-up the last two patches in one.
    - Rebased against linus latest. That meant dealing with swiotlb_sync_single_range_* changes.
    - added Acked-by: Fujita Tomonori and Tested-by: Albert Herranz
    [v7-v8 changes:]
    - Minimized the list of exported functions.
    - Integrated Fujita's patches and changed "swiotlb_tlb" to "swiotlb_tbl" in them.
    [v6-v7 changes:]
    - Minimized the amount of exported functions/variable with a prefix of: "swiotbl_tbl".
    - Made the usage of 'int dir' to be 'enum dma_data_direction'.
    [v5-v6 changes:]
    - Made the exported functions/variables have the 'swiotlb_bk' prefix.
    - dropped the checkpatches/other reworks

    Signed-off-by: FUJITA Tomonori
    Reviewed-by: Konrad Rzeszutek Wilk
    Tested-by: Albert Herranz

    FUJITA Tomonori
     

05 Jun, 2010

4 commits