1. 13 9月, 2009 10 次提交
    • I
      perf sched: Display time in milliseconds, reorganize output · d9340c1d
      Ingo Molnar 提交于
      After:
      
      -----------------------------------------------------------------------------------
       Task              |  runtime ms | switches | average delay ms | maximum delay ms |
      -----------------------------------------------------------------------------------
       migration/0       |    0.000 ms |        1 | avg:    0.047 ms | max:    0.047 ms |
       ksoftirqd/0       |    0.000 ms |        1 | avg:    0.039 ms | max:    0.039 ms |
       migration/1       |    0.000 ms |        3 | avg:    0.013 ms | max:    0.016 ms |
       migration/3       |    0.000 ms |        2 | avg:    0.003 ms | max:    0.004 ms |
       migration/4       |    0.000 ms |        1 | avg:    0.022 ms | max:    0.022 ms |
       distccd           |    0.000 ms |        1 | avg:    0.004 ms | max:    0.004 ms |
       distccd           |    0.000 ms |        1 | avg:    0.014 ms | max:    0.014 ms |
       distccd           |    0.000 ms |        2 | avg:    0.000 ms | max:    0.000 ms |
       distccd           |    0.000 ms |        2 | avg:    0.012 ms | max:    0.019 ms |
       distccd           |    0.000 ms |        1 | avg:    0.002 ms | max:    0.002 ms |
       as                |    0.000 ms |        2 | avg:    0.019 ms | max:    0.019 ms |
       as                |    0.000 ms |        3 | avg:    0.015 ms | max:    0.017 ms |
       as                |    0.000 ms |        1 | avg:    0.009 ms | max:    0.009 ms |
       perf              |    0.000 ms |        1 | avg:    0.001 ms | max:    0.001 ms |
       gcc               |    0.000 ms |        1 | avg:    0.021 ms | max:    0.021 ms |
       run-mozilla.sh    |    0.000 ms |        2 | avg:    0.010 ms | max:    0.017 ms |
       mozilla-plugin-   |    0.000 ms |        1 | avg:    0.006 ms | max:    0.006 ms |
       gcc               |    0.000 ms |        2 | avg:    0.013 ms | max:    0.013 ms |
      -----------------------------------------------------------------------------------
      
      (The runtime ms column is not filled in yet.)
      
      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: NIngo Molnar <mingo@elte.hu>
      d9340c1d
    • I
      perf sched: Clean up latency and replay sub-commands · 46f392c9
      Ingo Molnar 提交于
      - Separate the latency and the replay commands more cleanly
      
       - Use consistent naming
      
       - Display help page on 'perf sched' outlining comments,
         instead of aborting
      
      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: NIngo Molnar <mingo@elte.hu>
      46f392c9
    • F
      perf sched: Add sched latency profiling · cdce9d73
      Frederic Weisbecker 提交于
      Add the -l --latency option that reports statistics about the
      scheduler latencies.
      
      For now, the latencies are measured in the following sequence
      scope:
      
      - task A is sleeping (D or S state)
      - task B wakes up A
               ^
               |
               |
      
         latency timeframe
      
               |
               |
               v
      - task A is scheduled in
      
      Start by recording every scheduler events:
      
      	perf record -e sched:*
      
      and then fetch the results:
      
      	perf sched -l
      
       Tasks                     count          total              avg            max
      
      migration/0                  2             39849            19924           28826
      ksoftirqd/0                  7            756383           108054          373014
      migration/1                  5             45391             9078           10452
      ksoftirqd/1                  2            399055           199527          359130
      events/0                     8           4780110           597513         4500250
      events/1                     9           6353057           705895         2986012
      kblockd/0                   42          37805097           900121         5077684
      
      The snapshot are in nanoseconds.
      
      - Count: number of snapshots taken for the given task
      - Total: total latencies in nanosec
      - Avg  : average of latency between wake up and sched in
      - Max  : max snapshot latency
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      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>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cdce9d73
    • F
      perf sched: Make it easier to plug in new sub profilers · 419ab0d6
      Frederic Weisbecker 提交于
      Create a sched event structure of handlers in which various
      sched events reader can plug their own callbacks.
      
      This makes easier the addition of new perf sched sub commands.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      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>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      419ab0d6
    • F
      perf sched: Fix bad event alignment · 46538818
      Frederic Weisbecker 提交于
      perf sched raises the following error when it meets a sched
      switch event:
      
      perf: builtin-sched.c:286: register_pid: Assertion `!(pid >= 65536)' failed.
      Abandon
      
      Currently in x86-64, the sched switch events have a hole in the
      middle of the structure:
      
      	u16 common_type;
      	u8 common_flags;
      	u8 common_preempt_count;
      	u32 common_pid;
      	u32 common_tgid;
      
      	char prev_comm[16];
      	u32 prev_pid;
      	u32 prev_prio;
      			<--- there
      	u64 prev_state;
      	char next_comm[16];
      	u32 next_pid;
      	u32 next_prio;
      
      Gcc inserts a 4 bytes hole there for prev_state to be u64
      aligned. And the events are exported to userspace with this
      hole.
      
      But in userspace, from perf sched, we fetch it using a
      structure that has a new field in the beginning: u32 size. This
      is because our trace is exported with its size as a field. But
      now that we have this new field, the hole in the middle
      disappears because it makes prev_state becoming well aligned.
      
      And since we are using a pointer to the raw trace using this
      struct, instead of reading prev_state, we are reading the hole.
      
      We could fix it by keeping the size seperate from the struct
      but actually there a lot of other potential problems: some
      fields may be saved as long in a 64 bits system and later read
      as long in a 32 bits system. Also this direct cast doesn't care
      about the endianness differences between the host traced
      machine and the machine in which we do the post processing.
      
      So instead of using such dangerous direct casts, fetch the
      values using the trace parsing API that already takes care of
      all these problems.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      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>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      46538818
    • F
      perf tools: Allow the specification of all tracepoints at once · bcd3279f
      Frederic Weisbecker 提交于
      Currently, when one wants to activate every tracepoint
      counters of a subsystem from perf record, the current sequence
      is needed:
      
        perf record -e subsys:ev1 -e subsys:ev2 -e subsys:ev3
      
      This may annoy the most patient of us.
      
      Now we can just do:
      
        perf record -e subsys:*
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      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>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      bcd3279f
    • I
      perf sched: Tighten up the code · ad236fd2
      Ingo Molnar 提交于
      Various small cleanups - removal of debug printks and dead
      functions, etc.
      
      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: NIngo Molnar <mingo@elte.hu>
      ad236fd2
    • I
      perf sched: Implement the scheduling workload replay engine · fbf94829
      Ingo Molnar 提交于
      Integrate the schedbench.c bits with the raw trace events
      that we get from the perf machinery, and activate the
      workload replayer/simulator.
      
      Example of a captured 'make -j' workload:
      
      $ perf sched
      
        run measurement overhead: 90 nsecs
        sleep measurement overhead: 2724743 nsecs
        the run test took 1000081 nsecs
        the sleep test took 2981111 nsecs
        version = 0.5
        ...
        nr_run_events:        70
        nr_sleep_events:      66
        nr_wakeup_events:     9
        target-less wakeups:  71
        multi-target wakeups: 47
        run events optimized: 139
        task      0 (                perf:      6607), nr_events: 2
        task      1 (                perf:      6608), nr_events: 6
        task      2 (                    :         0), nr_events: 1
        task      3 (                make:      6609), nr_events: 5
        task      4 (                  sh:      6610), nr_events: 4
        task      5 (                make:      6611), nr_events: 6
        task      6 (                  sh:      6612), nr_events: 4
        task      7 (                make:      6613), nr_events: 5
        task      8 (        migration/11:        25), nr_events: 1
        task      9 (        migration/13:        29), nr_events: 1
        task     10 (        migration/15:        33), nr_events: 1
        task     11 (         migration/9:        21), nr_events: 1
        task     12 (                  sh:      6614), nr_events: 4
        task     13 (                make:      6615), nr_events: 5
        task     14 (                  sh:      6616), nr_events: 4
        task     15 (                make:      6617), nr_events: 7
        task     16 (         migration/3:         9), nr_events: 1
        task     17 (         migration/5:        13), nr_events: 1
        task     18 (         migration/7:        17), nr_events: 1
        task     19 (         migration/1:         5), nr_events: 1
        task     20 (                  sh:      6618), nr_events: 4
        task     21 (                make:      6619), nr_events: 5
        task     22 (                  sh:      6620), nr_events: 4
        task     23 (                make:      6621), nr_events: 10
        task     24 (                  sh:      6623), nr_events: 3
        task     25 (                 gcc:      6624), nr_events: 4
        task     26 (                 gcc:      6625), nr_events: 4
        task     27 (                 gcc:      6626), nr_events: 5
        task     28 (            collect2:      6627), nr_events: 5
        task     29 (                  sh:      6622), nr_events: 1
        task     30 (                make:      6628), nr_events: 7
        task     31 (                  sh:      6630), nr_events: 4
        task     32 (                 gcc:      6631), nr_events: 4
        task     33 (                  sh:      6629), nr_events: 1
        task     34 (                 gcc:      6632), nr_events: 4
        task     35 (                 gcc:      6633), nr_events: 4
        task     36 (            collect2:      6634), nr_events: 4
        task     37 (                make:      6635), nr_events: 8
        task     38 (                  sh:      6637), nr_events: 4
        task     39 (                  sh:      6636), nr_events: 1
        task     40 (                 gcc:      6638), nr_events: 4
        task     41 (                 gcc:      6639), nr_events: 4
        task     42 (                 gcc:      6640), nr_events: 4
        task     43 (            collect2:      6641), nr_events: 4
        task     44 (                make:      6642), nr_events: 6
        task     45 (                  sh:      6643), nr_events: 5
        task     46 (                  sh:      6644), nr_events: 3
        task     47 (                  sh:      6645), nr_events: 4
        task     48 (                make:      6646), nr_events: 6
        task     49 (                  sh:      6647), nr_events: 3
        task     50 (                make:      6648), nr_events: 5
        task     51 (                  sh:      6649), nr_events: 5
        task     52 (                  sh:      6650), nr_events: 6
        task     53 (                make:      6651), nr_events: 4
        task     54 (                make:      6652), nr_events: 5
        task     55 (                make:      6653), nr_events: 4
        task     56 (                make:      6654), nr_events: 4
        task     57 (                make:      6655), nr_events: 5
        task     58 (                  sh:      6656), nr_events: 4
        task     59 (                 gcc:      6657), nr_events: 9
        task     60 (         ksoftirqd/3:        10), nr_events: 1
        task     61 (                 gcc:      6658), nr_events: 4
        task     62 (                make:      6659), nr_events: 5
        task     63 (                  sh:      6660), nr_events: 3
        task     64 (                 gcc:      6661), nr_events: 5
        task     65 (            collect2:      6662), nr_events: 4
        ------------------------------------------------------------
        #1  : 256.745, ravg: 256.74, cpu: 0.00 / 0.00
        #2  : 439.372, ravg: 275.01, cpu: 0.00 / 0.00
        #3  : 411.971, ravg: 288.70, cpu: 0.00 / 0.00
        #4  : 385.500, ravg: 298.38, cpu: 0.00 / 0.00
        #5  : 366.526, ravg: 305.20, cpu: 0.00 / 0.00
        #6  : 381.281, ravg: 312.81, cpu: 0.00 / 0.00
        #7  : 410.756, ravg: 322.60, cpu: 0.00 / 0.00
        #8  : 368.009, ravg: 327.14, cpu: 0.00 / 0.00
        #9  : 408.098, ravg: 335.24, cpu: 0.00 / 0.00
        #10 : 368.582, ravg: 338.57, cpu: 0.00 / 0.00
      
      I.e. we successfully analyzed the trace, replayed it
      via real threads and measured the replayed workload's
      scheduling properties.
      
      This is how it looked like in 'top' output:
      
         PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
        7164 mingo     20   0 1434m 8080  888 R 57.0  0.1   0:02.04 :perf
        7165 mingo     20   0 1434m 8080  888 R 41.8  0.1   0:01.52 :perf
        7228 mingo     20   0 1434m 8080  888 R 39.8  0.1   0:01.44 :gcc
        7225 mingo     20   0 1434m 8080  888 R 33.8  0.1   0:01.26 :gcc
        7202 mingo     20   0 1434m 8080  888 R 31.2  0.1   0:01.16 :sh
        7222 mingo     20   0 1434m 8080  888 R 25.2  0.1   0:00.96 :sh
        7211 mingo     20   0 1434m 8080  888 R 21.9  0.1   0:00.82 :sh
        7213 mingo     20   0 1434m 8080  888 D 19.2  0.1   0:00.74 :sh
        7194 mingo     20   0 1434m 8080  888 D 18.6  0.1   0:00.72 :make
      
      There's still various kinks in it - more patches to come.
      
      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: NIngo Molnar <mingo@elte.hu>
      fbf94829
    • I
      perf sched: Import schedbench.c · ec156764
      Ingo Molnar 提交于
      Import the schedbench.c tool that i wrote some time ago to
      simulate scheduler behavior but never finished. It's a good
      basis for perf sched nevertheless.
      
      Most of its guts are not hooked up to the perf event loop
      yet - that will be done in the patches to come.
      
      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: NIngo Molnar <mingo@elte.hu>
      ec156764
    • I
      perf: Add 'perf sched' tool · 0a02ad93
      Ingo Molnar 提交于
      This turn-key tool allows scheduler measurements to be
      conducted and the results be displayed numerically.
      
      First baby step towards that goal: clone the new command off of
      perf trace.
      
      Fix a few other details along the way:
      
       - add (minimal) perf trace documentation
      
       - reorder a few places
      
       - list perf trace in the mainporcelain list as well
         as it's a very useful utility.
      
      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: NIngo Molnar <mingo@elte.hu>
      0a02ad93
  2. 12 9月, 2009 21 次提交
    • L
      Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · 86d71014
      Linus Torvalds 提交于
      * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (87 commits)
        NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3'
        NFS: Allow the "nfs" file system type to support NFSv4
        NFS: Move details of nfs4_get_sb() to a helper
        NFS: Refactor NFSv4 text-based mount option validation
        NFS: Mount option parser should detect missing "port="
        NFS: out of date comment regarding O_EXCL above nfs3_proc_create()
        NFS: Handle a zero-length auth flavor list
        SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc...
        nfs: fix compile error in rpc_pipefs.h
        nfs: Remove reference to generic_osync_inode from a comment
        SUNRPC: cache must take a reference to the cache detail's module on open()
        NFS: Use the DNS resolver in the mount code.
        NFS: Add a dns resolver for use with NFSv4 referrals and migration
        SUNRPC: Fix a typo in cache_pipefs_files
        nfs: nfs4xdr: optimize low level decoding
        nfs: nfs4xdr: get rid of READ_BUF
        nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline
        nfs: nfs4xdr: get rid of COPYMEM
        nfs: nfs4xdr: introduce decode_sessionid helper
        nfs: nfs4xdr: introduce decode_verifier helper
        ...
      86d71014
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 86373435
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (25 commits)
        pata_rz1000: use printk_once
        ahci: kill @force_restart and refine CLO for ahci_kick_engine()
        pata_cs5535: add pci id for AMD based CS5535 controllers
        ahci: Add AMD SB900 SATA/IDE controller device IDs
        drivers/ata: use resource_size
        sata_fsl: Defer non-ncq commands when ncq commands active
        libata: add SATA PMP revision information for spec 1.2
        libata: fix off-by-one error in ata_tf_read_block()
        ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA
        ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic
        dmi: extend dmi_get_year() to dmi_get_date()
        dmi: fix date handling in dmi_get_year()
        libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru()
        sata_sis: convert to slave_link
        sata_sil24: always set protocol override for non-ATAPI data commands
        libata: Export AHCI capabilities
        libata: Delegate nonrot flag setting to SCSI
        [libata] Add pata_rdc driver for RDC ATA devices
        drivers/ata: Remove unnecessary semicolons
        libata: remove spindown skipping and warning
        ...
      86373435
    • L
      Merge branch 'tracing-core-for-linus' of... · 483e3cd6
      Linus Torvalds 提交于
      Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (105 commits)
        ring-buffer: only enable ring_buffer_swap_cpu when needed
        ring-buffer: check for swapped buffers in start of committing
        tracing: report error in trace if we fail to swap latency buffer
        tracing: add trace_array_printk for internal tracers to use
        tracing: pass around ring buffer instead of tracer
        tracing: make tracing_reset safe for external use
        tracing: use timestamp to determine start of latency traces
        tracing: Remove mentioning of legacy latency_trace file from documentation
        tracing/filters: Defer pred allocation, fix memory leak
        tracing: remove users of tracing_reset
        tracing: disable buffers and synchronize_sched before resetting
        tracing: disable update max tracer while reading trace
        tracing: print out start and stop in latency traces
        ring-buffer: disable all cpu buffers when one finds a problem
        ring-buffer: do not count discarded events
        ring-buffer: remove ring_buffer_event_discard
        ring-buffer: fix ring_buffer_read crossing pages
        ring-buffer: remove unnecessary cpu_relax
        ring-buffer: do not swap buffers during a commit
        ring-buffer: do not reset while in a commit
        ...
      483e3cd6
    • L
      Merge branch 'sched-core-for-linus' of... · 774a694f
      Linus Torvalds 提交于
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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: (64 commits)
        sched: Fix sched::sched_stat_wait tracepoint field
        sched: Disable NEW_FAIR_SLEEPERS for now
        sched: Keep kthreads at default priority
        sched: Re-tune the scheduler latency defaults to decrease worst-case latencies
        sched: Turn off child_runs_first
        sched: Ensure that a child can't gain time over it's parent after fork()
        sched: enable SD_WAKE_IDLE
        sched: Deal with low-load in wake_affine()
        sched: Remove short cut from select_task_rq_fair()
        sched: Turn on SD_BALANCE_NEWIDLE
        sched: Clean up topology.h
        sched: Fix dynamic power-balancing crash
        sched: Remove reciprocal for cpu_power
        sched: Try to deal with low capacity, fix update_sd_power_savings_stats()
        sched: Try to deal with low capacity
        sched: Scale down cpu_power due to RT tasks
        sched: Implement dynamic cpu_power
        sched: Add smt_gain
        sched: Update the cpu_power sum during load-balance
        sched: Add SD_PREFER_SIBLING
        ...
      774a694f
    • L
      Merge branch 'perfcounters-core-for-linus' of... · 4f0ac854
      Linus Torvalds 提交于
      Merge branch 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)
        perf tools: Avoid unnecessary work in directory lookups
        perf stat: Clean up statistics calculations a bit more
        perf stat: More advanced variance computation
        perf stat: Use stddev_mean in stead of stddev
        perf stat: Remove the limit on repeat
        perf stat: Change noise calculation to use stddev
        x86, perf_counter, bts: Do not allow kernel BTS tracing for now
        x86, perf_counter, bts: Correct pointer-to-u64 casts
        x86, perf_counter, bts: Fail if BTS is not available
        perf_counter: Fix output-sharing error path
        perf trace: Fix read_string()
        perf trace: Print out in nanoseconds
        perf tools: Seek to the end of the header area
        perf trace: Fix parsing of perf.data
        perf trace: Sample timestamps as well
        perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access
        perf trace: Sample the CPU too
        perf tools: Work around strict aliasing related warnings
        perf tools: Clean up warnings list in the Makefile
        perf tools: Complete support for dynamic strings
        ...
      4f0ac854
    • L
      Merge branch 'oprofile-for-linus' of... · b9356c53
      Linus Torvalds 提交于
      Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits)
        arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type
        Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()"
        x86/oprofile: Small coding style fixes
        x86/oprofile: Add counter reservation check for virtual counters
        x86/oprofile: Implement op_x86_virt_to_phys()
        oprofile: Adding switch counter to oprofile statistic variables
        x86/oprofile: Implement mux_clone()
        x86/oprofile: Enable multiplexing only if the model supports it
        x86/oprofile: Add function has_mux() to check multiplexing support
        x86/oprofile: Modify initialization of num_virt_counters
        x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec
        x86/oprofile: Remove const qualifier from struct op_x86_model_spec
        x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c
        x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c
        x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c
        x86/oprofile: Implement multiplexing setup/shutdown functions
        oprofile: Grouping multiplexing code in op_model_amd.c
        oprofile: Introduce op_x86_phys_to_virt()
        oprofile: Grouping multiplexing code in oprof.c
        oprofile: Remove oprofile_multiplexing_init()
        ...
      b9356c53
    • L
      Merge branch 'irq-threaded-for-linus' of... · d90a7e86
      Linus Torvalds 提交于
      Merge branch 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        genirq: Do not mask oneshot edge type interrupts
        genirq: Support nested threaded irq handling
        genirq: Add buslock support
        genirq: Add oneshot support
      d90a7e86
    • L
      Merge branch 'irq-core-for-linus' of... · 12a49961
      Linus Torvalds 提交于
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        pci/intr_remapping: Allocate irq_iommu on node
        irq: Add irq_node() primitive
        irq: Make sure irq_desc for legacy irq get correct node setting
        genirq: Add prototype for handle_nested_irq()
        irq: Remove superfluous NULL pointer check in check_irq_resend()
        irq: Clean up by removing irqfixup MODULE_PARM_DESC()
        genirq: Fix comment describing suspend_device_irqs()
        genirq: Remove obsolete defines and typedefs
      12a49961
    • L
      Merge branch 'core-rcu-for-linus' of... · eee2775d
      Linus Torvalds 提交于
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)
        rcu: Move end of special early-boot RCU operation earlier
        rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments
        rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees
        rcu: Remove lockdep annotations from RCU's _notrace() API members
        rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds
        rcu: Add CPU-offline processing for single-node configurations
        rcu: Add "notrace" to RCU function headers used by ftrace
        rcu: Remove CONFIG_PREEMPT_RCU
        rcu: Merge preemptable-RCU functionality into hierarchical RCU
        rcu: Simplify rcu_pending()/rcu_check_callbacks() API
        rcu: Use debugfs_remove_recursive() simplify code.
        rcu: Merge per-RCU-flavor initialization into pre-existing macro
        rcu: Fix online/offline indication for rcudata.csv trace file
        rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h
        rcu: Renamings to increase RCU clarity
        rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h
        rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP
        rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation.
        rcu: Fix typo in rcu_irq_exit() comment header
        rcu: Make rcupreempt_trace.c look at offline CPUs
        ...
      eee2775d
    • L
      Merge branch 'core-printk-for-linus' of... · 53e16fbd
      Linus Torvalds 提交于
      Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)"
        printk: Restore previous console_loglevel when re-enabling logging
        printk: Ensure that "console enabled" messages are printed on the console
        printk: Enable the use of more than one CON_BOOT (early console)
      53e16fbd
    • L
      Merge branch 'core-locking-for-linus' of... · 4e3408d9
      Linus Torvalds 提交于
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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: (32 commits)
        locking, m68k/asm-offsets: Rename signal defines
        locking: Inline spinlock code for all locking variants on s390
        locking: Simplify spinlock inlining
        locking: Allow arch-inlined spinlocks
        locking: Move spinlock function bodies to header file
        locking, m68k: Calculate thread_info offset with asm offset
        locking, m68k/asm-offsets: Rename pt_regs offset defines
        locking, sparc: Rename __spin_try_lock() and friends
        locking, powerpc: Rename __spin_try_lock() and friends
        lockdep: Remove recursion stattistics
        lockdep: Simplify lock_stat seqfile code
        lockdep: Simplify lockdep_chains seqfile code
        lockdep: Simplify lockdep seqfile code
        lockdep: Fix missing entries in /proc/lock_chains
        lockdep: Fix missing entry in /proc/lock_stat
        lockdep: Fix memory usage info of BFS
        lockdep: Reintroduce generation count to make BFS faster
        lockdep: Deal with many similar locks
        lockdep: Introduce lockdep_assert_held()
        lockdep: Fix style nits
        ...
      4e3408d9
    • L
      Merge branch 'core-iommu-for-linus' of... · a66a5005
      Linus Torvalds 提交于
      Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (59 commits)
        x86/gart: Do not select AGP for GART_IOMMU
        x86/amd-iommu: Initialize passthrough mode when requested
        x86/amd-iommu: Don't detach device from pt domain on driver unbind
        x86/amd-iommu: Make sure a device is assigned in passthrough mode
        x86/amd-iommu: Align locking between attach_device and detach_device
        x86/amd-iommu: Fix device table write order
        x86/amd-iommu: Add passthrough mode initialization functions
        x86/amd-iommu: Add core functions for pd allocation/freeing
        x86/dma: Mark iommu_pass_through as __read_mostly
        x86/amd-iommu: Change iommu_map_page to support multiple page sizes
        x86/amd-iommu: Support higher level PTEs in iommu_page_unmap
        x86/amd-iommu: Remove old page table handling macros
        x86/amd-iommu: Use 2-level page tables for dma_ops domains
        x86/amd-iommu: Remove bus_addr check in iommu_map_page
        x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX
        x86/amd-iommu: Change alloc_pte to support 64 bit address space
        x86/amd-iommu: Introduce increase_address_space function
        x86/amd-iommu: Flush domains if address space size was increased
        x86/amd-iommu: Introduce set_dte_entry function
        x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices
        ...
      a66a5005
    • L
      Merge branch 'core-futexes-for-linus' of... · 7193bea5
      Linus Torvalds 提交于
      Merge branch 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        futex: Detect mismatched requeue targets
        futex: Correct futex_wait_requeue_pi() commentary
      7193bea5
    • L
      Merge branch 'core-debug-for-linus' of... · 989aa44a
      Linus Torvalds 提交于
      Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        debug lockups: Improve lockup detection, fix generic arch fallback
        debug lockups: Improve lockup detection
      989aa44a
    • L
      Merge branch 'core-cleanups-for-linus' of... · 4004f02d
      Linus Torvalds 提交于
      Merge branch 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        workqueues: Improve schedule_work() documentation
      4004f02d
    • T
      Merge branch 'nfs-for-2.6.32' · ab3bbaa8
      Trond Myklebust 提交于
      ab3bbaa8
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 332a3392
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits)
        crypto: sha-s390 - Fix warnings in import function
        crypto: vmac - New hash algorithm for intel_txt support
        crypto: api - Do not displace newly registered algorithms
        crypto: ansi_cprng - Fix module initialization
        crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx
        crypto: fips - Depend on ansi_cprng
        crypto: blkcipher - Do not use eseqiv on stream ciphers
        crypto: ctr - Use chainiv on raw counter mode
        Revert crypto: fips - Select CPRNG
        crypto: rng - Fix typo
        crypto: talitos - add support for 36 bit addressing
        crypto: talitos - align locks on cache lines
        crypto: talitos - simplify hmac data size calculation
        crypto: mv_cesa - Add support for Orion5X crypto engine
        crypto: cryptd - Add support to access underlaying shash
        crypto: gcm - Use GHASH digest algorithm
        crypto: ghash - Add GHASH digest algorithm for GCM
        crypto: authenc - Convert to ahash
        crypto: api - Fix aligned ctx helper
        crypto: hmac - Prehash ipad/opad
        ...
      332a3392
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · a9c86d42
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (377 commits)
        ASoC: au1x: PSC-AC97 bugfixes
        ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128
        ALSA: dummy - Add debug proc file
        ALSA: Add const prefix to proc helper functions
        ALSA: Re-export snd_pcm_format_name() function
        ALSA: hda - Use auto model for HP laptops with ALC268 codec
        ALSA: cs46xx - Fix minimum period size
        ASoC: Fix WM835x Out4 capture enumeration
        ALSA: Remove unneeded ifdef from sound/core.h
        ALSA: Remove struct snd_monitor_file from public sound/core.h
        ASoC: Remove unuused hw_read_t
        sound: oxygen: work around MCE when changing volume
        ALSA: dummy - Fake buffer allocations
        ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital
        ASoC: fix pxa2xx-ac97.c breakage
        ALSA: dummy - Fix the timer calculation in systimer mode
        ALSA: dummy - Add more description
        ALSA: dummy - Better jiffies handling
        ALSA: dummy - Support high-res timer mode
        ALSA: Release v1.0.21
        ...
      a9c86d42
    • L
      Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block · a12e4d30
      Linus Torvalds 提交于
      * 'writeback' of git://git.kernel.dk/linux-2.6-block:
        writeback: check for registered bdi in flusher add and inode dirty
        writeback: add name to backing_dev_info
        writeback: add some debug inode list counters to bdi stats
        writeback: get rid of pdflush completely
        writeback: switch to per-bdi threads for flushing data
        writeback: move dirty inodes from super_block to backing_dev_info
        writeback: get rid of generic_sync_sb_inodes() export
      a12e4d30
    • L
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 89af571c
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits)
        [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code
        [S390] Wire up page fault events for software perf counters.
        [S390] Remove smp_cpu_not_running.
        [S390] Get rid of cpuid.h header file.
        [S390] Limit cpu detection to 256 physical cpus.
        [S390] tape: Fix device online messages
        [S390] Enable guest page hinting by default.
        [S390] use generic scatterlist.h
        [S390] s390dbf: Add description for usage of "%s" in sprintf events
        [S390] Initialize __LC_THREAD_INFO early.
        [S390] fix recursive locking on page_table_lock
        [S390] kvm: use console_initcall() to initialize s390 virtio console
        [S390] tape: reversed order of labels
        [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf
        [S390] kernel: Print an error message if kernel NSS cannot be defined
        [S390] zcrypt: Free ap_device if dev_set_name fails.
        [S390] zcrypt: Use spin_lock_bh in suspend callback
        [S390] xpram: Remove checksum validation for suspend/resume
        [S390] vmur: Invalid allocation sequence for vmur class
        [S390] hypfs: remove useless variable qname
        ...
      89af571c
    • L
      Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 · 1b195b17
      Linus Torvalds 提交于
      * 'kmemleak' of git://linux-arm.org/linux-2.6:
        kmemleak: Improve the "Early log buffer exceeded" error message
        kmemleak: fix sparse warning for static declarations
        kmemleak: fix sparse warning over overshadowed flags
        kmemleak: move common painting code together
        kmemleak: add clear command support
        kmemleak: use bool for true/false questions
        kmemleak: Do no create the clean-up thread during kmemleak_disable()
        kmemleak: Scan all thread stacks
        kmemleak: Don't scan uninitialized memory when kmemcheck is enabled
        kmemleak: Ignore the aperture memory hole on x86_64
        kmemleak: Printing of the objects hex dump
        kmemleak: Do not report alloc_bootmem blocks as leaks
        kmemleak: Save the stack trace for early allocations
        kmemleak: Mark the early log buffer as __initdata
        kmemleak: Dump object information on request
        kmemleak: Allow rescheduling during an object scanning
      1b195b17
  3. 11 9月, 2009 9 次提交