1. 15 10月, 2009 4 次提交
    • I
      events: Harmonize event field names and print output names · 434a83c3
      Ingo Molnar 提交于
      Now that we can filter based on fields via perf record, people
      will start using filter expressions and will expect them to
      be obvious.
      
      The primary way to see which fields are available is by looking
      at the trace output, such as:
      
        gcc-18676 [000]   343.011728: irq_handler_entry: irq=0 handler=timer
        cc1-18677 [000]   343.012727: irq_handler_entry: irq=0 handler=timer
        cc1-18677 [000]   343.032692: irq_handler_entry: irq=0 handler=timer
        cc1-18677 [000]   343.033690: irq_handler_entry: irq=0 handler=timer
        cc1-18677 [000]   343.034687: irq_handler_entry: irq=0 handler=timer
        cc1-18677 [000]   343.035686: irq_handler_entry: irq=0 handler=timer
        cc1-18677 [000]   343.036684: irq_handler_entry: irq=0 handler=timer
      
      While 'irq==0' filters work, the 'handler==<x>' filter expression
      does not work:
      
        $ perf record -R -f -a -e irq:irq_handler_entry --filter handler=timer sleep 1
         Error: failed to set filter with 22 (Invalid argument)
      
      The problem is that while an 'irq' field exists and is recognized
      as a filter field - 'handler' does not exist - its name is 'name'
      in the output.
      
      To solve this, we need to synchronize the printout and the field
      names, wherever possible.
      
      In cases where the printout prints a non-field, we enclose
      that information in square brackets, such as:
      
        perf-1380  [013]   724.903505: softirq_exit: vec=9 [action=RCU]
        perf-1380  [013]   724.904482: softirq_exit: vec=1 [action=TIMER]
      
      This way users can use filter expressions more intuitively: all
      fields that show up as 'primary' (non-bracketed) information is
      filterable.
      
      This patch harmonizes the field names for all irq, bkl, power,
      sched and timer events.
      
      We might in fact think about dropping the print format bit of
      generic tracepoints altogether, and just print the fields that
      are being recorded.
      
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Frederic 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>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      434a83c3
    • L
      tracing/profile: Add filter support · 6fb2915d
      Li Zefan 提交于
      - Add an ioctl to allocate a filter for a perf event.
      
      - Free the filter when the associated perf event is to be freed.
      
      - Do the filtering in perf_swevent_match().
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <4AD69546.8050401@cn.fujitsu.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6fb2915d
    • L
      workqueue: add 'flush_delayed_work()' to run and wait for delayed work · 8c53e463
      Linus Torvalds 提交于
      It basically turns a delayed work into an immediate work, and then waits
      for it to finish, thus allowing you to force (and wait for) an immediate
      flush of a delayed work.
      
      We'll want to use this in the tty layer to clean up tty_flush_to_ldisc().
      Acked-by: NOleg Nesterov <oleg@redhat.com>
      [ Fixed to use 'del_timer_sync()' as noted by Oleg ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8c53e463
    • L
      workqueue: add 'flush_delayed_work()' to run and wait for delayed work · 43046b60
      Linus Torvalds 提交于
      It basically turns a delayed work into an immediate work, and then waits
      for it to finish.
      43046b60
  2. 14 10月, 2009 1 次提交
    • F
      tracing: Move syscalls metadata handling from arch to core · c44fc770
      Frederic Weisbecker 提交于
      Most of the syscalls metadata processing is done from arch.
      But these operations are mostly generic accross archs. Especially now
      that we have a common variable name that expresses the number of
      syscalls supported by an arch: NR_syscalls, the only remaining bits
      that need to reside in arch is the syscall nr to addr translation.
      
      v2: Compare syscalls symbols only after the "sys" prefix so that we
          avoid spurious mismatches with archs that have syscalls wrappers,
          in which case syscalls symbols have "SyS" prefixed aliases.
          (Reported by: Heiko Carstens)
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Acked-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      c44fc770
  3. 13 10月, 2009 1 次提交
    • J
      mac80211: document ieee80211_rx() context requirement · d20ef63d
      Johannes Berg 提交于
      ieee80211_rx() must be called with softirqs disabled
      since the networking stack requires this for netif_rx()
      and some code in mac80211 can assume that it can not
      be processing its own tasklet and this call at the same
      time.
      
      It may be possible to remove this requirement after a
      careful audit of mac80211 and doing any needed locking
      improvements in it along with disabling softirqs around
      netif_rx(). An alternative might be to push all packet
      processing to process context in mac80211, instead of
      to the tasklet, and add other synchronisation.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d20ef63d
  4. 12 10月, 2009 3 次提交
  5. 10 10月, 2009 2 次提交
    • A
      USB: serial: don't call release without attach · a4720c65
      Alan Stern 提交于
      This patch (as1295) fixes a recently-added bug in the USB serial core.
      If certain kinds of errors occur during probing, the core may call a
      serial driver's release method without previously calling the attach
      method.  This causes some drivers (io_ti in particular) to perform an
      invalid memory access.
      
      The patch adds a new flag to keep track of whether or not attach has
      been called.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Tested-by: NJean-Denis Girard <jd.girard@sysnux.pf>
      CC: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a4720c65
    • R
      IRQ: Change __softirq_pending to unsigned int in asm-generic/hardirq.h. · cc9b0b9b
      Ralf Baechle 提交于
      Since the beginnings in aafe4dbe
      ("asm-generic: add generic versions of common headers") the generic
      version of <asm/hardirq.h> defined __softirq_pending as unsigned long.
      
      Which is different from other architectures for no apparent good reason
      and was causing the following warning:
      
        kernel/time/tick-sched.c: In function 'tick_nohz_stop_sched_tick':
        kernel/time/tick-sched.c:261: warning: format '%02x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
      
      Reported and initial patch by Wu Zhangjin <wuzhangjin@gmail.com>.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      [ Arnd points out that we really should make sure parisc and alpha are
        ok with this, since they have also been converted to use the generic
        hardirq.h file. But neither seems to use it, although parisc does
        build a IRQSTAT_SIRQ_PEND #define into asm-offsets - but that also
        appears unused..    - Linus ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cc9b0b9b
  6. 08 10月, 2009 3 次提交
  7. 07 10月, 2009 2 次提交
  8. 06 10月, 2009 10 次提交
  9. 05 10月, 2009 6 次提交
    • J
      block: get rid of kblock_schedule_delayed_work() · 23e018a1
      Jens Axboe 提交于
      It was briefly introduced to allow CFQ to to delayed scheduling,
      but we ended up removing that feature again. So lets kill the
      function and export, and just switch CFQ back to the normal work
      schedule since it is now passing in a '0' delay from all call
      sites.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      23e018a1
    • B
      net: Support inclusion of <linux/socket.h> before <sys/socket.h> · 9c501935
      Ben Hutchings 提交于
      The following user-space program fails to compile:
      
          #include <linux/socket.h>
          #include <sys/socket.h>
          int main() { return 0; }
      
      The reason is that <linux/socket.h> tests __GLIBC__ to decide whether it
      should define various structures and macros that are now defined for
      user-space by <sys/socket.h>, but __GLIBC__ is not defined if no libc
      headers have yet been included.
      
      It seems safe to drop support for libc 5 now.
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NBastian Blank <waldi@debian.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9c501935
    • D
      drm/fb: add setcmap and fix 8-bit support. · 068143d3
      Dave Airlie 提交于
      This adds support for the setcmap api and fixes the 8bpp
      support at least on radeon hardware. It adds a new load_lut
      hook which can be called once the color map is setup.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      068143d3
    • D
      drm/radeon/kms: respect single crtc cards, only create one crtc. (v2) · dfee5614
      Dave Airlie 提交于
      Also add single crtc for RN50 chips.
      
      changes in v2:
      fix vblank init to respect single crtc flag
      fix r100 mode bandwidth to respect single crtc flag
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      dfee5614
    • A
      a99bbaf5
    • J
      Revert "Seperate read and write statistics of in_flight requests" · 0f78ab98
      Jens Axboe 提交于
      This reverts commit a9327cac.
      
      Corrado Zoccolo <czoccolo@gmail.com> reports:
      
      "with 2.6.32-rc1 I started getting the following strange output from
      "iostat -kx 2":
      Linux 2.6.31bisect (et2) 	04/10/2009 	_i686_	(2 CPU)
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                10,70    0,00    3,16   15,75    0,00   70,38
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda              18,22     0,00    0,67    0,01    14,77     0,02
      43,94     0,01   10,53 39043915,03 2629219,87
      sdb              60,89     9,68   50,79    3,04  1724,43    50,52
      65,95     0,70   13,06 488437,47 2629219,87
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 2,72    0,00    0,74    0,00    0,00   96,53
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      sdb               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 6,68    0,00    0,99    0,00    0,00   92,33
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      sdb               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 4,40    0,00    0,73    1,47    0,00   93,40
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      sdb               0,00     4,00    0,00    3,00     0,00    28,00
      18,67     0,06   19,50 333,33 100,00
      
      Global values for service time and utilization are garbage. For
      interval values, utilization is always 100%, and service time is
      higher than normal.
      
      I bisected it down to:
      [a9327cac] Seperate read and write
      statistics of in_flight requests
      and verified that reverting just that commit indeed solves the issue
      on 2.6.32-rc1."
      
      So until this is debugged, revert the bad commit.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      0f78ab98
  10. 04 10月, 2009 1 次提交
  11. 03 10月, 2009 5 次提交
  12. 02 10月, 2009 2 次提交