1. 28 Apr, 2010 3 commits
    • Arnaldo Carvalho de Melo's avatar
      perf machine: Adopt some map_groups functions · d28c6223
      Arnaldo Carvalho de Melo authored
      Those functions operated on members now grouped in 'struct machine', so
      move those methods to this new class.
      
      The changes made to 'perf probe' shows that using this abstraction
      inserting probes on guests almost got supported for free.
      
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d28c6223
    • Arnaldo Carvalho de Melo's avatar
      perf machine: Pass buffer size to machine__mmap_name · 48ea8f54
      Arnaldo Carvalho de Melo authored
      Don't blindly assume that the size of the buffer is enough, use
      snprintf.
      
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      48ea8f54
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Rename "kernel_info" to "machine" · 23346f21
      Arnaldo Carvalho de Melo authored
      struct kernel_info and kerninfo__ are too vague, what they really
      describe are machines, virtual ones or hosts.
      
      There are more changes to introduce helpers to shorten function calls
      and to make more clear what is really being done, but I left that for
      subsequent patches.
      
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      23346f21
  2. 27 Apr, 2010 1 commit
  3. 26 Apr, 2010 5 commits
  4. 24 Apr, 2010 9 commits
    • William Cohen's avatar
      perf: Some perf-kvm documentation edits · cfadf9d4
      William Cohen authored
      asciidoc does not allow the "===" to be longer than the line
      above it.
      Also fix a couple types and formatting errors.
      Signed-off-by: default avatarWilliam Cohen <wcohen@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <4BD204C5.9000504@redhat.com>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      cfadf9d4
    • Frederic Weisbecker's avatar
      perf: Add a perf trace option to check samples ordering reliability · e1889d75
      Frederic Weisbecker authored
      To ensure sample events time reordering is reliable, add a -d option
      to perf trace to check that automatically.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      e1889d75
    • Frederic Weisbecker's avatar
      perf: Use generic sample reordering in perf timechart · 9df9bbba
      Frederic Weisbecker authored
      Use the new generic sample events reordering from perf timechart,
      this drops the ad hoc sample reordering it was using before.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      9df9bbba
    • Frederic Weisbecker's avatar
      perf: Use generic sample reordering in perf trace · e0a808c6
      Frederic Weisbecker authored
      Use the new generic sample events reordering from perf trace.
      Before that, the displayed traces were ordered as they were
      in the input as recorded by perf record (not time ordered).
      
      This makes eventually perf trace displaying the events as beeing
      time ordered.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      e0a808c6
    • Frederic Weisbecker's avatar
      perf: Use generic sample reordering in perf kmem · 587570d4
      Frederic Weisbecker authored
      Use the new generic sample events reordering from perf kmem,
      this drops the need of multiplexing the buffers on record time,
      improving the scalability of perf kmem.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      587570d4
    • Frederic Weisbecker's avatar
      perf: Use generic sample reordering in perf sched · a64eae70
      Frederic Weisbecker authored
      Use the new generic sample events reordering from perf sched,
      this drops the need of multiplexing the buffers on record time,
      improving the scalability of perf sched.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      a64eae70
    • Frederic Weisbecker's avatar
      perf: Generalize perf lock's sample event reordering to the session layer · c61e52ee
      Frederic Weisbecker authored
      The sample events recorded by perf record are not time ordered
      because we have one buffer per cpu for each event (even demultiplexed
      per task/per cpu for task bound events). But when we read trace events
      we want them to be ordered by time because many state machines are
      involved.
      
      There are currently two ways perf tools deal with that:
      
      - use -M to multiplex every buffers (perf sched, perf kmem)
        But this creates a lot of contention in SMP machines on
        record time.
      
      - use a post-processing time reordering (perf timechart, perf lock)
        The reordering used by timechart is simple but doesn't scale well
        with huge flow of events, in terms of performance and memory use
        (unusable with perf lock for example).
        Perf lock has its own samples reordering that flushes its memory
        use in a regular basis and that uses a sorting based on the
        previous event queued (a new event to be queued is close to the
        previous one most of the time).
      
      This patch proposes to export perf lock's samples reordering facility
      to the session layer that reads the events. So if a tool wants to
      get ordered sample events, it needs to set its
      struct perf_event_ops::ordered_samples to true and that's it.
      
      This prepares tracing based perf tools to get rid of the need to
      use buffers multiplexing (-M) or to implement their own
      reordering.
      
      Also lower the flush period to 2 as it's sufficient already.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      c61e52ee
    • Stephane Eranian's avatar
      perf: Fix initialization bug in parse_single_tracepoint_event() · 5710fcad
      Stephane Eranian authored
      The parse_single_tracepoint_event() was setting some attributes
      before it validated the event was indeed a tracepoint event. This
      caused problems with other initialization routines like in the
      builtin-top.c module whereby sample_period is not set if not 0.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <4bcf232b.698fd80a.6fbe.ffffb737@mx.google.com>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      5710fcad
    • Hitoshi Mitake's avatar
      perf lock: Fix state machine to recognize lock sequence · e4cef1f6
      Hitoshi Mitake authored
      Previous state machine of perf lock was really broken.
      This patch improves it a little.
      
      This patch prepares the list of state machine that represents
      lock sequences for each threads.
      
      These state machines can be one of these sequences:
      
            1) acquire -> acquired -> release
            2) acquire -> contended -> acquired -> release
            3) acquire (w/ try) -> release
            4) acquire (w/ read) -> release
      
      The case of 4) is a little special.
      Double acquire of read lock is allowed, so the state machine
      counts read lock number, and permits double acquire and release.
      
      But, things are not so simple. Something in my model is still wrong.
      I counted the number of lock instances with bad sequence,
      and ratio is like this (case of tracing whoami): bad:233, total:2279
      
      version 2:
       * threads are now identified with tid, not pid
       * prepared SEQ_STATE_READ_ACQUIRED for read lock.
       * bunch of struct lock_seq_stat is now linked list
       * debug information enhanced (this have to be removed someday)
         e.g.
           | === output for debug===
           |
           | bad:233, total:2279
           | bad rate:0.000000
           | histogram of events caused bad sequence
           |     acquire: 165
           |    acquired: 0
           |   contended: 0
           |     release: 68
      Signed-off-by: default avatarHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <1271852634-9351-1-git-send-email-mitake@dcl.info.waseda.ac.jp>
      [rename SEQ_STATE_UNINITED to SEQ_STATE_UNINITIALIZED]
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      e4cef1f6
  5. 23 Apr, 2010 11 commits
  6. 22 Apr, 2010 11 commits
    • Jiri Kosina's avatar
      sysfs: use sysfs_attr_init in ASUS atk0110 driver · a30dcb4f
      Jiri Kosina authored
      Annotate dynamic sysfs attribute in atk_create_files(). This gets
      rid of the following lockdep warning:
      
       BUG: key ffff8800379ca670 not in .data!
       ------------[ cut here ]------------
       WARNING: at kernel/lockdep.c:2696 lockdep_init_map+0xd2/0x108()
       Hardware name: P5K PRO
       Modules linked in: asus_atk0110(+) pata_acpi firewire_ohci ata_generic
       dm_multipath firewire_core crc_itu_t pata_marvell floppy
       Pid: 599, comm: modprobe Not tainted 2.6.34-rc4 #27
       Call Trace:
        [<ffffffff8104cdb0>] warn_slowpath_common+0x7c/0x94
        [<ffffffff8104cddc>] warn_slowpath_null+0x14/0x16
        [<ffffffff81077c4d>] lockdep_init_map+0xd2/0x108
        [<ffffffff81165873>] sysfs_add_file_mode+0x66/0xa2
        [<ffffffff811658c0>] sysfs_add_file+0x11/0x13
        [<ffffffff8116594b>] sysfs_create_file+0x2a/0x2c
        [<ffffffff812c1f9c>] device_create_file+0x19/0x1b
        [<ffffffffa005b4fd>] atk_add+0x58b/0x72e [asus_atk0110]
        [<ffffffff812572a1>] acpi_device_probe+0x50/0x122
        [<ffffffff812c46af>] driver_probe_device+0xa2/0x127
        [<ffffffff812c4783>] __driver_attach+0x4f/0x6b
        [<ffffffff812c4734>] ? __driver_attach+0x0/0x6b
        [<ffffffff812c3c94>] bus_for_each_dev+0x59/0x8e
        [<ffffffff812c4519>] driver_attach+0x1e/0x20
        [<ffffffff812c4152>] bus_add_driver+0xb9/0x207
        [<ffffffff812c4a5f>] driver_register+0x9d/0x10e
        [<ffffffffa005f000>] ? atk0110_init+0x0/0x31 [asus_atk0110]
        [<ffffffff81257c7c>] acpi_bus_register_driver+0x43/0x45
        [<ffffffffa005f015>] atk0110_init+0x15/0x31 [asus_atk0110]
        [<ffffffffa005f000>] ? atk0110_init+0x0/0x31 [asus_atk0110]
        [<ffffffff81002069>] do_one_initcall+0x5e/0x15e
        [<ffffffff81085075>] sys_init_module+0xd8/0x239
        [<ffffffff81009cf2>] system_call_fastpath+0x16/0x1b
       ---[ end trace 4d0c84007055efb9 ]---
       BUG: key ffff8800379ca638 not in .data!
       BUG: key ffff8800379ca6a8 not in .data!
       BUG: key ffff8800379ca6e0 not in .data!
       BUG: key ffff880036f73670 not in .data!
       BUG: key ffff880036f73638 not in .data!
       BUG: key ffff880036f736a8 not in .data!
       BUG: key ffff880036f736e0 not in .data!
       BUG: key ffff880036f76c70 not in .data!
       BUG: key ffff880036f76c38 not in .data!
       BUG: key ffff880036f76ca8 not in .data!
       BUG: key ffff880036f76ce0 not in .data!
       BUG: key ffff8800368e7670 not in .data!
       BUG: key ffff8800368e7638 not in .data!
       BUG: key ffff8800368e76a8 not in .data!
       BUG: key ffff8800368e76e0 not in .data!
       BUG: key ffff880036ef7670 not in .data!
       BUG: key ffff880036ef7638 not in .data!
       BUG: key ffff880036ef76a8 not in .data!
       BUG: key ffff880036ef76e0 not in .data!
       BUG: key ffff8800373ccc70 not in .data!
       BUG: key ffff8800373ccc38 not in .data!
       BUG: key ffff8800373ccca8 not in .data!
       BUG: key ffff8800373ccce0 not in .data!
       BUG: key ffff880037a60870 not in .data!
       BUG: key ffff880037a60838 not in .data!
       BUG: key ffff880037a608a8 not in .data!
       BUG: key ffff880037a608e0 not in .data!
       BUG: key ffff880037355070 not in .data!
       BUG: key ffff880037355038 not in .data!
       BUG: key ffff8800373550a8 not in .data!
       BUG: key ffff8800373550e0 not in .data!
       BUG: key ffff8800378c2670 not in .data!
       BUG: key ffff8800378c2638 not in .data!
       BUG: key ffff8800378c26a8 not in .data!
       BUG: key ffff8800378c26e0 not in .data!
       BUG: key ffff880036ef7e70 not in .data!
       BUG: key ffff880036ef7e38 not in .data!
       BUG: key ffff880036ef7ea8 not in .data!
       BUG: key ffff880036ef7ee0 not in .data!
      
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Reported-by: default avatarDhaval Giani <dhaval.giani@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Tested-by: default avatarDhaval Giani <dhaval.giani@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      a30dcb4f
    • Randy Dunlap's avatar
      Documentation/HOWTO: update git home URL · e234ebf7
      Randy Dunlap authored
      Update git home page info.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e234ebf7
    • Stefan Richter's avatar
      Documentation: -stable rules: upstream commit ID requirement reworded · 959fb1c5
      Stefan Richter authored
      It is a hard requirement to include the upstream commit ID in the
      changelog of a -stable submission, not just a courtesy to the stable
      team.  This concerns only mail submission though, which is no longer
      the only way into stable.  (Also, fix a double "the".)
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      Acked-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      959fb1c5
    • Dinh Nguyen's avatar
      usb: Increase timeout value for device reset · 6307e096
      Dinh Nguyen authored
      It seems that for USB IP on Freescale MX5x processors, it needs >750
      usec for the reset to complete. This change should not hurt any other
      EHCI hardware.
      Signed-off-by: default avatarDinh Nguyen <Dinh.Nguyen@freescale.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6307e096
    • Alan Stern's avatar
      USB: put claimed interfaces in the "suspended" state · 571dc79d
      Alan Stern authored
      This patch (as1370) fixes a bug in the USB runtime power management
      code.  When a driver claims an interface, it doesn't expect to need to
      call usb_autopm_get_interface() or usb_autopm_put_interface() for
      runtime PM to work.  Runtime PM can be controlled by the driver's
      primary interface; the additional interfaces it claims shouldn't
      interfere.  As things stand, the claimed interfaces will prevent the
      device from autosuspending.
      
      To fix this problem, the patch sets interfaces to the suspended state
      when they are claimed.
      
      Also, although in theory this shouldn't matter, the patch changes the
      suspend code so that interfaces are suspended in reverse order from
      detection and resuming.  This is how the PM core works, and we ought
      to use the same approach.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Debugged-and-tested-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      571dc79d
    • Alan Stern's avatar
      USB: EHCI: defer reclamation of siTDs · 0e5f231b
      Alan Stern authored
      This patch (as1369) fixes a problem in ehci-hcd.  Some controllers
      occasionally run into trouble when the driver reclaims siTDs too
      quickly.  This can happen while streaming audio; it causes the
      controller to crash.
      
      The patch changes siTD reclamation to work the same way as iTD
      reclamation: Completed siTDs are stored on a list and not reused until
      at least one frame has passed.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarNate Case <ncase@xes-inc.com>
      CC: <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0e5f231b
    • Alan Stern's avatar
      USB: fix remote wakeup settings during system sleep · 5f677f1d
      Alan Stern authored
      This patch (as1363) changes the way USB remote wakeup is handled
      during system sleeps.  It won't be enabled unless an interface driver
      specifically needs it.  Also, it won't be enabled during the FREEZE or
      QUIESCE phases of hibernation, when the system doesn't respond to
      wakeup events anyway.  Finally, if the device is already
      runtime-suspended with remote wakeup enabled, but wakeup is supposed
      to be disabled for the system sleep, the device gets woken up so that
      it can be suspended again with the proper wakeup setting.
      
      This will fix problems people have reported with certain USB webcams
      that generate wakeup requests when they shouldn't, and as a result
      cause system suspends to fail.  See
      
      	https://bugs.launchpad.net/ubuntu/+source/linux/+bug/515109Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarErik Andrén <erik.andren@gmail.com>
      CC: <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5f677f1d
    • Manuel Jander's avatar
      USB: pl2303: add AdLink ND-6530 USB IDs · 9a61d726
      Manuel Jander authored
      I read a rumor that the AdLink ND6530 USB RS232, RS422 and RS485
      isolated adapter is actually a PL2303 based usb serial adapter. I
      tried it out, and as far as I can tell it works.
      Signed-off-by: default avatarManuel Jander <manuel.jander@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9a61d726
    • William Lightning's avatar
    • Sergei Shtylyov's avatar
      USB: OHCI: DA8xx/OMAP-L1x: fix up macro rename · 9600cbb2
      Sergei Shtylyov authored
      It appears that the DA8xx/OMAP-L1x glue layer went into the kernel uncompilable:
      commit 1960e693 (davinci: da8xx/omapl1: add
      support for the second sysconfig module) has renamed DA8XX_SYSCFG_* macros to
      DA8XX_SYSCFG0_* and it's been committed before the glue layer...
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9600cbb2
    • Dan Williams's avatar
      USB: qcaux: add LG Rumor and Sanyo Katana LX device IDs · 898f89c3
      Dan Williams authored
      These phones also have the familiar ttyACM0/ttyUSB0 schizophrenia when
      placed into "Dial-up Networking" mode after connecting a USB cable.
      Signed-off-by: default avatarDan Williams <dcbw@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      898f89c3