22 Jul, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    math-emu: correct test for downshifting fraction in _FP_FROM_INT()
    perf: Add DWARF register lookup for sparc
    MAINTAINERS: Add SBUS driver path to sparc entry.
    drivers/sbus: Remove unnecessary casts of private_data
    sparc: remove homegrown L1_CACHE_ALIGN macro
    sparc64: fix the build error due to smp_kgdb_capture_client()
    sparc64: Fix maybe_change_configuration() PCR setting.
    arch/sparc/kernel: Eliminate what looks like a NULL pointer dereference
    sparc64: Update defconfig.
    sunsu: Fix use after free in su_remove().
    sunserial: Don't call add_preferred_console() when console= is specified.
    sparc32: Kill none_mask, it's bogus.

    Linus Torvalds
     

14 Jul, 2010

1 commit

  • 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
     

27 Jun, 2010

1 commit


26 Jun, 2010

1 commit


24 Jun, 2010

1 commit


05 Jun, 2010

1 commit

  • At the point of the test, action cannot be NULL, as it has been dereferenced
    in the code just above.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    expression E,E1;
    identifier f;
    statement S1,S2,S3;
    @@

    if ((E == NULL && ...) || ...)
    {
    ... when != if (...) S1 else S2
    when != E = E1
    * E->f
    ... when any
    }
    else S3
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     

28 May, 2010

1 commit

  • …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: (61 commits)
    tracing: Add __used annotation to event variable
    perf, trace: Fix !x86 build bug
    perf report: Support multiple events on the TUI
    perf annotate: Fix up usage of the build id cache
    x86/mmiotrace: Remove redundant instruction prefix checks
    perf annotate: Add TUI interface
    perf tui: Remove annotate from popup menu after failure
    perf report: Don't start the TUI if -D is used
    perf: Fix getline undeclared
    perf: Optimize perf_tp_event_match()
    perf: Remove more code from the fastpath
    perf: Optimize the !vmalloc backed buffer
    perf: Optimize perf_output_copy()
    perf: Fix wakeup storm for RO mmap()s
    perf-record: Share per-cpu buffers
    perf-record: Remove -M
    perf: Ensure that IOC_OUTPUT isn't used to create multi-writer buffers
    perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events
    perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction
    perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig
    ...

    Linus Torvalds
     

22 May, 2010

2 commits

  • Merging in current state of Linus' tree to deal with merge conflicts and
    build failures in vio.c after merge.

    Conflicts:
    drivers/i2c/busses/i2c-cpm.c
    drivers/i2c/busses/i2c-mpc.c
    drivers/net/gianfar.c

    Also fixed up one line in arch/powerpc/kernel/vio.c to use the
    correct node pointer.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • .name, .match_table and .owner are duplicated in both of_platform_driver
    and device_driver. This patch is a removes the extra copies from struct
    of_platform_driver and converts all users to the device_driver members.

    This patch is a pretty mechanical change. The usage model doesn't change
    and if any drivers have been missed, or if anything has been fixed up
    incorrectly, then it will fail with a compile time error, and the fixup
    will be trivial. This patch looks big and scary because it touches so
    many files, but it should be pretty safe.

    Signed-off-by: Grant Likely
    Acked-by: Sean MacLennan

    Grant Likely
     

21 May, 2010

1 commit


20 May, 2010

1 commit

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

    * 'timers-for-linus-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    avr32: Fix typo in read_persistent_clock()
    sparc: Convert sparc to use read/update_persistent_clock
    cris: Convert cris to use read/update_persistent_clock
    m68k: Convert m68k to use read/update_persistent_clock
    m32r: Convert m32r to use read/update_peristent_clock
    blackfin: Convert blackfin to use read/update_persistent_clock
    ia64: Convert ia64 to use read/update_persistent_clock
    avr32: Convert avr32 to use read/update_persistent_clock
    h8300: Convert h8300 to use read/update_persistent_clock
    frv: Convert frv to use read/update_persistent_clock
    mn10300: Convert mn10300 to use read/update_persistent_clock
    alpha: Convert alpha to use read/update_persistent_clock
    xtensa: Fix unnecessary setting of xtime
    time: Clean up direct xtime usage in xen

    Linus Torvalds
     

19 May, 2010

3 commits

  • This patch eliminates the node pointer from struct of_device and the
    of_node (or prom_node) pointer from struct dev_archdata since the node
    pointer is now part of struct device proper when CONFIG_OF is set, and
    all users of the old pointer locations have already been converted over
    to use device->of_node.

    Also remove dev_archdata_{get,set}_node() as it is no longer used by
    anything.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • The following structure elements duplicate the information in
    'struct device.of_node' and so are being eliminated. This patch
    makes all readers of these elements use device.of_node instead.

    (struct of_device *)->node
    (struct dev_archdata *)->prom_node (sparc)
    (struct dev_archdata *)->of_node (powerpc & microblaze)

    Signed-off-by: Grant Likely

    Grant Likely
     
  • Convert to the transactional PMU API and remove the duplication of
    group_sched_in().

    [cross build only]

    Signed-off-by: Lin Ming
    Acked-by: David Miller
    Cc: Paul Mackerras
    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Lin Ming
     

29 Apr, 2010

1 commit

  • Currently, platforms using CONFIG_OF add a 'struct device_node *of_node'
    to dev->archdata. However, with CONFIG_OF becoming generic for all
    architectures, it makes sense for commonality to move it out of archdata
    and into struct device proper.

    This patch adds a struct device_node *of_node member to struct device
    and updates all locations which currently write the device_node pointer
    into archdata to also update dev->of_node. Subsequent patches will
    modify callers to use the archdata location and ultimately remove
    the archdata member entirely.

    Signed-off-by: Grant Likely
    Acked-by: Greg Kroah-Hartman
    CC: Michal Simek
    CC: Greg Kroah-Hartman
    CC: Benjamin Herrenschmidt
    CC: "David S. Miller"
    CC: Stephen Rothwell
    CC: Jeremy Kerr
    CC: microblaze-uclinux@itee.uq.edu.au
    CC: linux-kernel@vger.kernel.org
    CC: linuxppc-dev@ozlabs.org
    CC: sparclinux@vger.kernel.org

    Grant Likely
     

21 Apr, 2010

2 commits


20 Apr, 2010

2 commits


14 Apr, 2010

2 commits


13 Apr, 2010

9 commits


05 Apr, 2010

1 commit


04 Apr, 2010

2 commits


01 Apr, 2010

1 commit


30 Mar, 2010

3 commits

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc64: Properly truncate pt_regs framepointer in perf callback.
    arch/sparc/kernel: Use set_cpus_allowed_ptr
    sparc: Fix use of uid16_t and gid16_t in asm/stat.h

    Linus Torvalds
     
  • For 32-bit processes, we save the full 64-bits of the regs in pt_regs.

    But unlike when the userspace actually does load and store
    instructions, the top 32-bits don't get automatically truncated by the
    cpu in kernel mode (because the kernel doesn't execute with PSTATE_AM
    address masking enabled).

    So we have to do it by hand.

    Reported-by: Frederic Weisbecker
    Signed-off-by: David S. Miller

    David S. Miller
     

28 Mar, 2010

1 commit

  • Use set_cpus_allowed_ptr rather than set_cpus_allowed.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression E1,E2;
    @@

    - set_cpus_allowed(E1, cpumask_of_cpu(E2))
    + set_cpus_allowed_ptr(E1, cpumask_of(E2))

    @@
    expression E;
    identifier I;
    @@

    - set_cpus_allowed(E, I)
    + set_cpus_allowed_ptr(E, &I)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     

14 Mar, 2010

1 commit

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

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf: Provide generic perf_sample_data initialization
    MAINTAINERS: Add Arnaldo as tools/perf/ co-maintainer
    perf trace: Don't use pager if scripting
    perf trace/scripting: Remove extraneous header read
    perf, ARM: Modify kuser rmb() call to compile for Thumb-2
    x86/stacktrace: Don't dereference bad frame pointers
    perf archive: Don't try to collect files without a build-id
    perf_events, x86: Fixup fixed counter constraints
    perf, x86: Restrict the ANY flag
    perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE
    perf, x86: add some IBS macros to perf_event.h
    perf, x86: make IBS macros available in perf_event.h
    hw-breakpoints: Remove stub unthrottle callback
    x86/hw-breakpoints: Remove the name field
    perf: Remove pointless breakpoint union
    perf lock: Drop the buffers multiplexing dependency
    perf lock: Fix and add misc documentally things
    percpu: Add __percpu sparse annotations to hw_breakpoint

    Linus Torvalds
     

13 Mar, 2010

1 commit

  • This patch converts the sparc architecture to use the generic
    read_persistent_clock and update_persistent_clock interfaces, reducing
    the amount of arch specific code we have to maintain, and allowing for
    further cleanups in the future.

    [ davem: compile fix: Here's a version that compiles, you have to get
    rid of the now unused variably last_rtc_update since we build with
    -Werror ]

    Signed-off-by: John Stultz
    Acked-by: David S. Miller
    Cc: Andrew Morton
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: Thomas Gleixner

    John Stultz