1. 30 Sep, 2009 4 commits
    • Arnaldo Carvalho de Melo's avatar
      perf trace: Remove dead code · cad30714
      Arnaldo Carvalho de Melo authored
      Several variables are not used at all, cut'n'paste leftovers.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      LKML-Reference: <20090928200818.GF3361@ghostprotocols.net>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      cad30714
    • Arnaldo Carvalho de Melo's avatar
      perf sched: Remove dead code · a80deb62
      Arnaldo Carvalho de Melo authored
      Several variables are not used at all, cut'n'paste leftovers.
      
      Also check if the sample_type is RAW earlier, to avoid needless
      searches.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a80deb62
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Use rb_tree for maps · 1b46cddf
      Arnaldo Carvalho de Melo authored
      Threads can have many and kernel modules will be represented as a
      tree of maps as well.
      
      Ah, and for a perf.data with 146607 samples:
      
      Before:
      
      [root@doppio ~]# perf stat -r 5 perf report > /dev/null
      
       Performance counter stats for 'perf report' (5 runs):
      
           699.823680  task-clock-msecs         #      0.991 CPUs    ( +-   0.454% )
                   74  context-switches         #      0.000 M/sec   ( +-   1.709% )
                    2  CPU-migrations           #      0.000 M/sec   ( +-  17.008% )
                23114  page-faults              #      0.033 M/sec   ( +-   0.000% )
           1381257019  cycles                   #   1973.721 M/sec   ( +-   0.290% )
           1456894438  instructions             #      1.055 IPC     ( +-   0.007% )
             18779818  cache-references         #     26.835 M/sec   ( +-   0.380% )
               641799  cache-misses             #      0.917 M/sec   ( +-   1.200% )
      
          0.705972729  seconds time elapsed   ( +-   0.501% )
      
      [root@doppio ~]#
      
      After
      
       Performance counter stats for 'perf report' (5 runs):
      
           691.261451  task-clock-msecs         #      0.993 CPUs    ( +-   0.307% )
                   72  context-switches         #      0.000 M/sec   ( +-   0.829% )
                    6  CPU-migrations           #      0.000 M/sec   ( +-  18.409% )
                23127  page-faults              #      0.033 M/sec   ( +-   0.000% )
           1366395876  cycles                   #   1976.670 M/sec   ( +-   0.153% )
           1443136016  instructions             #      1.056 IPC     ( +-   0.012% )
             17956402  cache-references         #     25.976 M/sec   ( +-   0.325% )
               661924  cache-misses             #      0.958 M/sec   ( +-   1.335% )
      
          0.696127275  seconds time elapsed   ( +-   0.377% )
      
      I.e. we see some speedup too.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      LKML-Reference: <20090928174846.GA3361@ghostprotocols.net>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1b46cddf
    • John Kacur's avatar
      perf tools: Put common histogram functions in their own file · 3d1d07ec
      John Kacur authored
      Move histogram related functions into their own files (hist.c and
      hist.h) and make use of them in builtin-annotate.c and
      builtin-report.c.
      Signed-off-by: default avatarJohn Kacur <jkacur@redhat.com>
      Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <alpine.LFD.2.00.0909281531180.8316@localhost.localdomain>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3d1d07ec
  2. 24 Sep, 2009 7 commits
  3. 23 Sep, 2009 2 commits
    • Mike Galbraith's avatar
      perf tools: Fix module symbol loading bug · 508c4d08
      Mike Galbraith authored
      Avi Kivity reported 'perf annotate' failures with modules, the
      requested function was not annotated.
      
      If there are no modules currently loaded, or the last module
      scanned is not loaded, dso__load_modules() steps on the value from
      dso__load_vmlinux(), so we happily load the kallsyms symbols on top
      of what we've already loaded.
      
      Fix that such that the total count of symbols loaded is returned.
      Should module symbol load fail after parsing of vmlinux, is's a
      hard failure, so do not silently fall-back to kallsyms.
      Reported-by: default avatarAvi Kivity <avi@redhat.com>
      Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: rostedt@goodmis.org
      Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      LKML-Reference: <1253697658.11461.36.camel@marge.simson.net>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      508c4d08
    • Peter Zijlstra's avatar
      perf_event, x86: Fix 'perf sched record' crashing the machine · 7d428966
      Peter Zijlstra authored
      Chris Malley reported that 'perf sched record' sometimes
      crashes his box with:
      
      [  389.272175] BUG: unable to handle kernel paging request at ffffb300
      [  389.272294] IP: [<c011b0bd>] default_send_IPI_self+0x1d/0x50
      [  389.272366] *pde = 0073f067 *pte = 00000000
      [  389.274708] Call Trace:
      [  389.274752]  [<c010e3b4>] ?  set_perf_event_pending+0x14/0x20
      [  389.274801]  [<c01b9751>] ?  perf_output_unlock+0x121/0x1a0
      [  389.274848]  [<c01b981a>] ? perf_output_end+0x4a/0x70
      [  389.274893]  [<c01ba690>] ?  __perf_event_overflow+0x240/0x2f0
      [  389.274942]  [<c030963e>] ? atomic64_cmpxchg+0x1e/0x30
      [  389.274988]  [<c01ba8f4>] ?  perf_swevent_ctx_event+0x1b4/0x1c0
      [  389.275035]  [<c01ba773>] ?  perf_swevent_ctx_event+0x33/0x1c0
      [  389.275081]  [<c01ba9a7>] ? do_perf_sw_event+0xa7/0x160
      [  389.275127]  [<c01baae2>] ? perf_tp_event+0x82/0xa0
      [  389.275174]  [<c012e9c6>] ?  ftrace_profile_sched_stat_runtime+0xe6/0x120
      [  389.275224]  [<c012e8e0>] ?  ftrace_profile_sched_stat_runtime+0x0/0x120
      [  389.275273]  [<c013c85a>] ? update_curr+0x18a/0x230
      [  389.275318]  [<c013cdc5>] ?  put_prev_task_fair+0x155/0x160
      [  389.275366]  [<c01618b5>] ? sched_clock_cpu+0xd5/0x110
      [  389.275413]  [<c04e7525>] ? _spin_lock_irq+0x45/0x50
      [  389.275458]  [<c04e424e>] ? schedule+0x20e/0xb10
      
      The problem is that the box has no lapic enabled:
      
        [    0.042445] Local APIC not detected. Using dummy APIC emulation.
      
      The below seems like the best fix. We disabled all lapic bits, except
      the self-IPI-resend logic.
      Reported-by: default avatarChris Malley <mail@chrismalley.co.uk>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <7863dc4c0909221409v7893bfd3o4b590d5951a233ba@mail.gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      7d428966
  4. 22 Sep, 2009 3 commits
    • Anton Blanchard's avatar
      perf_event: Update PERF_EVENT_FORK header definition · a6f10a2f
      Anton Blanchard authored
      PERF_EVENT_FORK always outputs the time field, so update the header
      to reflect this.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20090922123424.GD19453@kryten>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a6f10a2f
    • Ingo Molnar's avatar
      perf stat: Fix zero total printouts · c7f7fea3
      Ingo Molnar authored
      Before:
      
                 0  sched:sched_switch #        nan M/sec
      
      After:
      
                 0  sched:sched_switch #      0.000 M/sec
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      c7f7fea3
    • Paul Mackerras's avatar
      perf_event, powerpc: Fix compilation after big perf_counter rename · a8f90e90
      Paul Mackerras authored
      This fixes two places in the powerpc perf_event (perf_counter) code
      where 'list_entry' needs to be changed to 'group_entry', but were
      missed in commit 65abc865 ("perf_counter: Rename list_entry ->
      group_entry, counter_list -> group_list").
      
      This also changes 'event' back to 'counter' in a couple of
      contexts:
      
      * Field and function names that deal with the limited-function
        counters: it's really the hardware counters whose function is
        limited, not the events that they count.  Hence:
      
        MAX_LIMITED_HWEVENTS -> MAX_LIMITED_HWCOUNTERS
        limited_event -> limited_counter
        freeze/thaw_limited_events -> freeze/thaw_limited_counters
      
      * The machine-specific PMU description struct (struct power_pmu): this
        renames 'n_event' back to 'n_counter' since it really describes how
        many hardware counters the machine has.  (Renaming this back avoids
        a compile error in each of the machine-specific PMU back-ends where
        they initialize their power_pmu struct.)
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Cc: linuxppc-dev@ozlabs.org
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <19128.4280.813369.589704@cargo.ozlabs.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a8f90e90
  5. 21 Sep, 2009 24 commits
    • Linus Torvalds's avatar
      Merge branch 'perfcounters-rename-for-linus' of... · 43c1266c
      Linus Torvalds authored
      Merge branch 'perfcounters-rename-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-rename-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf: Tidy up after the big rename
        perf: Do the big rename: Performance Counters -> Performance Events
        perf_counter: Rename 'event' to event_id/hw_event
        perf_counter: Rename list_entry -> group_entry, counter_list -> group_list
      
      Manually resolved some fairly trivial conflicts with the tracing tree in
      include/trace/ftrace.h and kernel/trace/trace_syscalls.c.
      43c1266c
    • Linus Torvalds's avatar
      Merge branch 'core-fixes-for-linus' of... · b8c7f1dc
      Linus Torvalds authored
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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:
        rcu: Fix whitespace inconsistencies
        rcu: Fix thinko, actually initialize full tree
        rcu: Apply results of code inspection of kernel/rcutree_plugin.h
        rcu: Add WARN_ON_ONCE() consistency checks covering state transitions
        rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU
        rcu: Simplify rcu_read_unlock_special() quiescent-state accounting
        rcu: Add debug checks to TREE_PREEMPT_RCU for premature grace periods
        rcu: Kconfig help needs to say that TREE_PREEMPT_RCU scales down
        rcutorture: Occasionally delay readers enough to make RCU force_quiescent_state
        rcu: Initialize multi-level RCU grace periods holding locks
        rcu: Need to update rnp->gpnum if preemptable RCU is to be reliable
      b8c7f1dc
    • Linus Torvalds's avatar
      Merge branch 'perfcounters-fixes-for-linus' of... · f4eccb6d
      Linus Torvalds authored
      Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf_counter, powerpc, sparc: Fix compilation after perf_counter_overflow() change
        perf_counter: x86: Fix PMU resource leak
        perf util: SVG performance improvements
        perf util: Make the timechart SVG width dynamic
        perf timechart: Show the duration of scheduler delays in the SVG
        perf timechart: Show the name of the waker/wakee in timechart
      f4eccb6d
    • Linus Torvalds's avatar
      Merge branch 'sched-fixes-for-linus' of... · 8e4bc3dd
      Linus Torvalds authored
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        sched: Simplify sys_sched_rr_get_interval() system call
        sched: Fix potential NULL derference of doms_cur
        sched: Fix raciness in runqueue_is_locked()
        sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()
        sched: Remove unneeded indentation in sched_fair.c::place_entity()
      8e4bc3dd
    • Linus Torvalds's avatar
      Merge branch 'tracing-fixes-for-linus' of... · bd4c3a34
      Linus Torvalds authored
      Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        kernel/profile.c: Switch /proc/irq/prof_cpu_mask to seq_file
        tracing: Export trace_profile_buf symbols
        tracing/events: use list_for_entry_continue
        tracing: remove max_tracer_type_len
        function-graph: use ftrace_graph_funcs directly
        tracing: Remove markers
        tracing: Allocate the ftrace event profile buffer dynamically
        tracing: Factorize the events profile accounting
      bd4c3a34
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · b3727c24
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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:
        x86: Print the hypervisor returned tsc_khz during boot
        x86: Correct segment permission flags in 64-bit linker script
        x86: cpuinit-annotate SMP boot trampolines properly
        x86: Increase timeout for EHCI debug port reset completion in early printk
        x86: Fix uaccess_32.h typo
        x86: Trivial whitespace cleanups
        x86, apic: Fix missed handling of discrete apics
        x86/i386: Remove duplicated #include
        x86, mtrr: Convert loop to a while based construct, avoid naked semicolon
        Revert 'x86: Fix system crash when loading with "reservetop" parameter'
        x86, mce: Fix compile warning in case of CONFIG_SMP=n
        x86, apic: Use logical flat on intel with <= 8 logical cpus
        x86: SGI UV: Map MMIO-High memory range
        x86: SGI UV: Add volatile semantics to macros that access chipset registers
        x86: SGI UV: Fix IPI macros
        x86: apic: Convert BUG() to BUG_ON()
        x86: Remove final bits of CONFIG_X86_OLD_MCE
      b3727c24
    • Linus Torvalds's avatar
      Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block · 58e75a09
      Linus Torvalds authored
      * 'writeback' of git://git.kernel.dk/linux-2.6-block:
        nfs: initialize the backing_dev_info when creating the server
        writeback: make balance_dirty_pages() gradually back more off
        writeback: don't use schedule_timeout() without setting runstate
        nfs: nfs_kill_super() should call bdi_unregister() after killing super
      58e75a09
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · c720f565
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (222 commits)
        V4L/DVB (13033): pt1: Don't use a deprecated DMA_BIT_MASK macro
        V4L/DVB (13029): radio-si4713: remove #include <linux/version.h>
        V4L/DVB (13027): go7007: convert printks to v4l2_info
        V4L/DVB (13026): s2250-board: Implement brightness and contrast controls
        V4L/DVB (13025): s2250-board: Fix memory leaks
        V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd
        V4L/DVB (13023): go7007: Merge struct gofh and go declarations
        V4L/DVB (13022): go7007: Fix mpeg controls
        V4L/DVB (13021): go7007: Fix whitespace and line lengths
        V4L/DVB (13020): go7007: Updates to Kconfig and Makefile
        V4L/DVB (13019): video: initial support for ADV7180
        V4L/DVB (13018): kzalloc failure ignored in au8522_probe()
        V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start()
        V4L/DVB (13016): kmalloc failure ignored in lgdt3304_attach() and s921_attach()
        V4L/DVB (13015): kmalloc failure ignored in m920x_firmware_download()
        V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only)
        V4L/DVB (13013): FM TX: si4713: Kconfig: Fixed two typos.
        V4L/DVB (13012): uvc: introduce missing kfree
        V4L/DVB (13011): Change tuner type of BeholdTV cards
        V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure range
        ...
      c720f565
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 · 33e6c1a0
      Linus Torvalds authored
      * 'linux-next' of git://git.infradead.org/ubifs-2.6:
        UBIFS: fix debugging dump
        UBIFS: improve lprops dump
        UBIFS: various minor commentary fixes
        UBIFS: improve journal head debugging prints
        UBIFS: define journal head numbers in ubifs-media.h
        UBIFS: amend commentaries
        UBIFS: check ubifs_scan error codes better
        UBIFS: do not print scary error messages needlessly
        UBIFS: add inode size debugging check
        UBIFS: constify file and inode operations
        UBIFS: remove unneeded call from ubifs_sync_fs
        UBIFS: kill BKL
        UBIFS: remove unused functions
        UBIFS: suppress compilation warning
      33e6c1a0
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 · 0b887ef1
      Linus Torvalds authored
      * 'linux-next' of git://git.infradead.org/ubi-2.6:
        UBI: improve NOR flash erasure quirk
        UBI: introduce flash dump helper
        UBI: eliminate possible undefined behaviour
        UBI: print a warning if too many PEBs are corrupted
        UBI: amend NOR flash pre-erase quirk
        UBI: print a message if ECH is corrupted and VIDH is ok
      0b887ef1
    • Linus Torvalds's avatar
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 44040f10
      Linus Torvalds authored
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (133 commits)
        drm/vgaarb: add VGA arbitration support to the drm and kms.
        drm/radeon: some r420s have a CP race with the DMA engine.
        drm/radeon/r600/kms: rv670 is not DCE3
        drm/radeon/kms: r420 idle after programming GA_ENHANCE
        drm/radeon/kms: more fixes to rv770 suspend/resume path.
        drm/radeon/kms: more alignment for rv770.c with r600.c
        drm/radeon/kms: rv770 blit init called too late.
        drm/radeon/kms: move around new init path code to avoid posting at init
        drm/radeon/r600: fix some issues with suspend/resume.
        drm/radeon/kms: disable VGA rendering engine before taking over VRAM
        drm/radeon/kms: Move radeon_get_clock_info() call out of radeon_clocks_init().
        drm/radeon/kms: add initial connector properties
        drm/radeon/kms: Use surfaces for scanout / cursor byte swapping on big endian.
        drm/radeon/kms: don't fail if we fail to init GPU acceleration
        drm/r600/kms: fixup number of loops per blit calculation.
        drm/radeon/kms: reprogram format in set base.
        drm/radeon: avivo chips have no separate int bit for display
        drm/radeon/r600: don't do interrupts
        drm: fix _DRM_GEM addmap error message
        drm: update crtc x/y when only fb changes
        ...
      
      Fixed up trivial conflicts in firmware/Makefile due to network driver
      (cxgb3) and drm (mga/r128/radeon) firmware being listed next to each
      other.
      44040f10
    • Ingo Molnar's avatar
      Driver-Core: fix devnode callbacks for dabusb and industrialio · 388dba30
      Ingo Molnar authored
      The build of the dabusb driver broke:
      
        drivers/media/video/dabusb.c:758: error: unknown field 'nodename' specified in initializer
        drivers/media/video/dabusb.c:758: warning: initialization from incompatible pointer type
        make[3]: *** wait: No child processes.  Stop.
      
      Due to this commit:
      
        e454cea2: Driver-Core: extend devnode callbacks to provide permissions
      
      Missing the dabusb driver's dabusb_nodename() callback.
      
      Similar issues with the iio/industrialio driver in staging, pointed out
      and patched by Jean Delvare.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Industrialio-parts-by: default avatarJean Delvare <khali@linux-fr.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      388dba30
    • Jens Axboe's avatar
      nfs: initialize the backing_dev_info when creating the server · 48d07649
      Jens Axboe authored
      NFS may free the server structure without ever having used the
      bdi, so we either need to flag the bdi as being uninitialized or
      initialize it up front. This does the latter.
      
      This fixes a crash with mounting more than one NFS file system,
      should people ever need that kind of obscure NFS functionality.
      Tested-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      48d07649
    • Jens Axboe's avatar
      writeback: make balance_dirty_pages() gradually back more off · 87c6a9b2
      Jens Axboe authored
      Currently it just sleeps for a very short time, just 1 jiffy. If
      we keep looping in there, continually delay for a little longer
      of up to 100msec in total. That was the old limit for congestion
      wait.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      87c6a9b2
    • Jens Axboe's avatar
      writeback: don't use schedule_timeout() without setting runstate · 3542a5c0
      Jens Axboe authored
      Just use schedule_timeout_interruptible(), saves a call to
      set_current_state().
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      3542a5c0
    • Jens Axboe's avatar
      nfs: nfs_kill_super() should call bdi_unregister() after killing super · 92f25053
      Jens Axboe authored
      Otherwise we could be attempting to flush data for a writeback
      thread and bdi that have already disappeared.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      92f25053
    • Ingo Molnar's avatar
      perf: Tidy up after the big rename · 57c0c15b
      Ingo Molnar authored
       - provide compatibility Kconfig entry for existing PERF_COUNTERS .config's
      
       - provide courtesy copy of old perf_counter.h, for user-space projects
      
       - small indentation fixups
      
       - fix up MAINTAINERS
      
       - fix small x86 printout fallout
      
       - fix up small PowerPC comment fallout (use 'counter' as in register)
      Reviewed-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      57c0c15b
    • Ingo Molnar's avatar
      perf: Do the big rename: Performance Counters -> Performance Events · cdd6c482
      Ingo Molnar authored
      Bye-bye Performance Counters, welcome Performance Events!
      
      In the past few months the perfcounters subsystem has grown out its
      initial role of counting hardware events, and has become (and is
      becoming) a much broader generic event enumeration, reporting, logging,
      monitoring, analysis facility.
      
      Naming its core object 'perf_counter' and naming the subsystem
      'perfcounters' has become more and more of a misnomer. With pending
      code like hw-breakpoints support the 'counter' name is less and
      less appropriate.
      
      All in one, we've decided to rename the subsystem to 'performance
      events' and to propagate this rename through all fields, variables
      and API names. (in an ABI compatible fashion)
      
      The word 'event' is also a bit shorter than 'counter' - which makes
      it slightly more convenient to write/handle as well.
      
      Thanks goes to Stephane Eranian who first observed this misnomer and
      suggested a rename.
      
      User-space tooling and ABI compatibility is not affected - this patch
      should be function-invariant. (Also, defconfigs were not touched to
      keep the size down.)
      
      This patch has been generated via the following script:
      
        FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
      
        sed -i \
          -e 's/PERF_EVENT_/PERF_RECORD_/g' \
          -e 's/PERF_COUNTER/PERF_EVENT/g' \
          -e 's/perf_counter/perf_event/g' \
          -e 's/nb_counters/nb_events/g' \
          -e 's/swcounter/swevent/g' \
          -e 's/tpcounter_event/tp_event/g' \
          $FILES
      
        for N in $(find . -name perf_counter.[ch]); do
          M=$(echo $N | sed 's/perf_counter/perf_event/g')
          mv $N $M
        done
      
        FILES=$(find . -name perf_event.*)
      
        sed -i \
          -e 's/COUNTER_MASK/REG_MASK/g' \
          -e 's/COUNTER/EVENT/g' \
          -e 's/\<event\>/event_id/g' \
          -e 's/counter/event/g' \
          -e 's/Counter/Event/g' \
          $FILES
      
      ... to keep it as correct as possible. This script can also be
      used by anyone who has pending perfcounters patches - it converts
      a Linux kernel tree over to the new naming. We tried to time this
      change to the point in time where the amount of pending patches
      is the smallest: the end of the merge window.
      
      Namespace clashes were fixed up in a preparatory patch - and some
      stylistic fallout will be fixed up in a subsequent patch.
      
      ( NOTE: 'counters' are still the proper terminology when we deal
        with hardware registers - and these sed scripts are a bit
        over-eager in renaming them. I've undone some of that, but
        in case there's something left where 'counter' would be
        better than 'event' we can undo that on an individual basis
        instead of touching an otherwise nicely automated patch. )
      Suggested-by: default avatarStephane Eranian <eranian@google.com>
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: default avatarPaul Mackerras <paulus@samba.org>
      Reviewed-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: <linux-arch@vger.kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      cdd6c482
    • Ingo Molnar's avatar
      perf_counter: Rename 'event' to event_id/hw_event · dfc65094
      Ingo Molnar authored
      In preparation to the renames, to avoid a namespace clash.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      dfc65094
    • Ingo Molnar's avatar
      perf_counter: Rename list_entry -> group_entry, counter_list -> group_list · 65abc865
      Ingo Molnar authored
      This is in preparation of the big rename, but also makes sense
      in a standalone way: 'list_entry' is a bad name as we already
      have a list_entry() in list.h.
      
      Also, the 'counter list' is too vague, it doesnt tell us the
      purpose of that list.
      
      Clarify these names to show that it's all about the group
      hiearchy.
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      65abc865
    • Ingo Molnar's avatar
      Merge branch 'linus' into perfcounters/rename · ae82bfd6
      Ingo Molnar authored
      Merge reason: pull in all the latest code before doing the rename.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ae82bfd6
    • Artem Bityutskiy's avatar
      Merge branch 'master' of... · 7cce2f4c
      Artem Bityutskiy authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into linux-next
      
      Conflicts:
      	fs/ubifs/super.c
      
      Merge the upstream tree in order to resolve a conflict with the
      per-bdi writeback changes from the linux-2.6-block tree.
      7cce2f4c
    • Peter Williams's avatar
      sched: Simplify sys_sched_rr_get_interval() system call · 0d721cea
      Peter Williams authored
      By removing the need for it to know details of scheduling classes.
      
      This allows PlugSched to define orthogonal scheduling classes.
      Signed-off-by: default avatarPeter Williams <pwil3058@bigpond.net.au>
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <06d1b89ee15a0eef82d7.1253496713@mudlark.pw.nest>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0d721cea
    • Paul Mackerras's avatar
      perf_counter, powerpc, sparc: Fix compilation after perf_counter_overflow() change · cd74c86b
      Paul Mackerras authored
      Commit 5622f295 ("x86, perf_counter, bts: Optimize BTS overflow
      handling") removed the regs field from struct perf_sample_data and
      added a regs parameter to perf_counter_overflow().  This breaks the
      build on powerpc (and Sparc) as reported by Sachin Sant:
      
        arch/powerpc/kernel/perf_counter.c: In function 'record_and_restart':
        arch/powerpc/kernel/perf_counter.c:1165: error: unknown field 'regs' specified in initializer
      
      This adjusts arch/powerpc/kernel/perf_counter.c to correspond with the
      new struct perf_sample_data and perf_counter_overflow().
      
      [ v2: also fix Sparc, Markus Metzger <markus.t.metzger@intel.com> ]
      Reported-by: default avatarSachin Sant <sachinp@in.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Cc: Markus Metzger <markus.t.metzger@intel.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: benh@kernel.crashing.org
      Cc: linuxppc-dev@ozlabs.org
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <19127.8400.376239.586120@drongo.ozlabs.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      cd74c86b