1. 08 5月, 2009 2 次提交
  2. 13 3月, 2009 1 次提交
  3. 03 3月, 2009 1 次提交
  4. 18 2月, 2009 1 次提交
  5. 17 2月, 2009 1 次提交
  6. 08 1月, 2009 4 次提交
    • R
      oprofile: make new cpu buffer functions part of the api · 14f0ca8e
      Robert Richter 提交于
      This patch creates the new functions
      
       oprofile_write_reserve()
       oprofile_add_data()
       oprofile_write_commit()
      
      and makes them part of the oprofile api.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      14f0ca8e
    • R
      oprofile: use new data sample format for ibs · 1acda878
      Robert Richter 提交于
      The new ring buffer implementation allows the storage of samples with
      different size. This patch implements the usage of the new sample
      format to store ibs samples in the cpu buffer. Until now, writing to
      the cpu buffer could lead to incomplete sampling sequences since IBS
      samples were transfered in multiple samples. Due to a full buffer,
      data could be lost at any time. This can't happen any more since the
      complete data is reserved in advance and then stored in a single
      sample.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      1acda878
    • R
      oprofile: rework implementation of cpu buffer events · ae735e99
      Robert Richter 提交于
      Special events such as task or context switches are marked with an
      escape code in the cpu buffer followed by an event code or a task
      identifier. There is one escape code per event. To make escape
      sequences also available for data samples the internal cpu buffer
      format must be changed. The current implementation does not allow the
      extension of event codes since this would lead to collisions with the
      task identifiers. To avoid this, this patch introduces an event mask
      that allows the storage of multiple events with one escape code. Now,
      task identifiers are stored in the data section of the sample. The
      implementation also allows the usage of custom data in a sample. As a
      side effect the new code is much more readable and easier to
      understand.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      ae735e99
    • R
      oprofile: rename variable ibs_allowed to has_ibs in op_model_amd.c · fc81be8c
      Robert Richter 提交于
      This patch renames ibs_allowed to has_ibs. Varible name fits better
      now.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      fc81be8c
  7. 29 12月, 2008 1 次提交
  8. 10 12月, 2008 4 次提交
  9. 04 12月, 2008 1 次提交
    • W
      x86/oprofile: fix Intel cpu family 6 detection · 3d337c65
      William Cohen 提交于
      Alan Jenkins wrote:
      > This is on an EeePC 701, /proc/cpuinfo as attached.
      >
      > Is this expected?  Will the next release work?
      >
      > Thanks, Alan
      >
      > # opcontrol --setup --no-vmlinux
      > cpu_type 'unset' is not valid
      > you should upgrade oprofile or force the use of timer mode
      >
      > # opcontrol -v
      > opcontrol: oprofile 0.9.4 compiled on Nov 29 2008 22:44:10
      >
      > # cat /dev/oprofile/cpu_type
      > i386/p6
      > # uname -r
      > 2.6.28-rc6eeepc
      
      Hi Alan,
      
      Looking at the kernel driver code for oprofile it can return the "i386/p6" for
      the cpu_type. However, looking at the user-space oprofile code there isn't the
      matching entry in libop/op_cpu_type.c or the events/unit_mask files in
      events/i386 directory.
      
      The Intel AP-485 says this is a "Intel Pentium M processor model D". Seems like
      the oprofile kernel driver should be identifying the processor as "i386/p6_mobile"
      
      The driver identification code doesn't look quite right in nmi_init.c
      
      http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=blob;f=arch/x86/oprofile/nmi_int.c;h=022cd41ea9b4106e5884277096e80e9088a7c7a9;hb=HEAD
      
      has:
      
      409         case 10 ... 13:
      410                 *cpu_type = "i386/p6";
      411                 break;
      
      Referring to the Intel AP-485:
      case 10 and 11 should produce "i386/piii"
      case 13 should produce "i386/p6_mobile"
      
      I didn't see anything for case 12.
      
      Something like the attached patch. I don't have a celeron machine to verify that
      changes in this area of the kernel fix thing.
      
      -Will
      Signed-off-by: NWilliam Cohen <wcohen@redhat.com>
      Tested-by: NAlan Jenkins <alan-jenkins@tuffmail.co.uk>
      Acked-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      3d337c65
  10. 03 12月, 2008 1 次提交
  11. 18 11月, 2008 1 次提交
  12. 08 11月, 2008 1 次提交
  13. 16 10月, 2008 9 次提交
  14. 14 10月, 2008 4 次提交
  15. 24 9月, 2008 1 次提交
  16. 22 9月, 2008 2 次提交
    • A
      x86, oprofile: BUG: using smp_processor_id() in preemptible code · 45f197ad
      Andrea Righi 提交于
      Add __raw access before setting per cpu variable switch_index, to avoid
      the following BUG:
      
      [  449.166827] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/6998
      [  449.166848] caller is op_nmi_init+0xf0/0x2b0 [oprofile]
      [  449.166855] Pid: 6998, comm: modprobe Not tainted 2.6.27-rc5-mm1 #29
      [  449.166860] Call Trace:
      [  449.166872]  [<ffffffff80362d67>] debug_smp_processor_id+0xd7/0xe0
      [  449.166887]  [<ffffffffa00181c0>] op_nmi_init+0xf0/0x2b0 [oprofile]
      [  449.166902]  [<ffffffffa0018000>] oprofile_init+0x0/0x60 [oprofile]
      [  449.166915]  [<ffffffffa00180a9>] oprofile_arch_init+0x9/0x30 [oprofile]
      [  449.166928]  [<ffffffffa001801e>] oprofile_init+0x1e/0x60 [oprofile]
      [  449.166937]  [<ffffffff8020903b>] _stext+0x3b/0x160
      [  449.166946]  [<ffffffff80477985>] __mutex_unlock_slowpath+0xe5/0x190
      [  449.166955]  [<ffffffff80262c1a>] trace_hardirqs_on_caller+0xca/0x140
      [  449.166965]  [<ffffffff8026f7fc>] sys_init_module+0xdc/0x210
      [  449.166972]  [<ffffffff8020b7cb>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NAndrea Righi <righi.andrea@gmail.com>
      Acked-by: NRobert Richter <robert.richter@amd.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      45f197ad
    • A
      x86, oprofile: BUG scheduling while atomic · b61e06f2
      Andrea Righi 提交于
      nmi_shutdown() calls unregister_die_notifier() from an atomic context
      after setting preempt_disable() via get_cpu_var():
      
      [ 1049.404154] BUG: scheduling while atomic: oprofiled/7796/0x00000002
      [ 1049.404171] INFO: lockdep is turned off.
      [ 1049.404176] Modules linked in: oprofile af_packet rfcomm l2cap kvm_intel kvm i915 drm acpi_cpufreq cpufreq_userspace cpufreq_conservative cpufreq_ondemand cpufreq_powersave freq_table container sbs sbshc dm_mod arc4 ecb cryptomgr aead snd_hda_intel crypto_blkcipher snd_pcm_oss crypto_algapi snd_pcm iwlagn iwlcore snd_timer iTCO_wdt led_class btusb iTCO_vendor_support snd psmouse bluetooth mac80211 soundcore cfg80211 snd_page_alloc intel_agp video output button battery ac dcdbas evdev ext3 jbd mbcache sg sd_mod piix ata_piix libata scsi_mod dock tg3 libphy ehci_hcd uhci_hcd usbcore thermal processor fan fuse
      [ 1049.404362] Pid: 7796, comm: oprofiled Not tainted 2.6.27-rc5-mm1 #30
      [ 1049.404368] Call Trace:
      [ 1049.404384]  [<ffffffff804769fd>] thread_return+0x4a0/0x7d3
      [ 1049.404396]  [<ffffffff8026ad92>] generic_exec_single+0x52/0xe0
      [ 1049.404405]  [<ffffffff8026ae1a>] generic_exec_single+0xda/0xe0
      [ 1049.404414]  [<ffffffff8026aee3>] smp_call_function_single+0x73/0x150
      [ 1049.404423]  [<ffffffff804770c5>] schedule_timeout+0x95/0xd0
      [ 1049.404430]  [<ffffffff80476083>] wait_for_common+0x43/0x180
      [ 1049.404438]  [<ffffffff80476154>] wait_for_common+0x114/0x180
      [ 1049.404448]  [<ffffffff80236980>] default_wake_function+0x0/0x10
      [ 1049.404457]  [<ffffffff8024f810>] synchronize_rcu+0x30/0x40
      [ 1049.404463]  [<ffffffff8024f890>] wakeme_after_rcu+0x0/0x10
      [ 1049.404472]  [<ffffffff80479ca0>] _spin_unlock_irqrestore+0x40/0x80
      [ 1049.404482]  [<ffffffff80256def>] atomic_notifier_chain_unregister+0x3f/0x60
      [ 1049.404501]  [<ffffffffa03d8801>] nmi_shutdown+0x51/0x90 [oprofile]
      [ 1049.404517]  [<ffffffffa03d6134>] oprofile_shutdown+0x34/0x70 [oprofile]
      [ 1049.404532]  [<ffffffffa03d721e>] event_buffer_release+0xe/0x40 [oprofile]
      [ 1049.404543]  [<ffffffff802bdcdd>] __fput+0xcd/0x240
      [ 1049.404551]  [<ffffffff802baa74>] filp_close+0x54/0x90
      [ 1049.404560]  [<ffffffff8023e1d1>] put_files_struct+0xb1/0xd0
      [ 1049.404568]  [<ffffffff8023f82f>] do_exit+0x18f/0x930
      [ 1049.404576]  [<ffffffff8020be03>] restore_args+0x0/0x30
      [ 1049.404584]  [<ffffffff80240006>] do_group_exit+0x36/0xa0
      [ 1049.404592]  [<ffffffff8020b7cb>] system_call_fastpath+0x16/0x1b
      
      This can be easily triggered with 'opcontrol --shutdown'.
      
      Simply move get_cpu_var() above unregister_die_notifier().
      Signed-off-by: NAndrea Righi <righi.andrea@gmail.com>
      Acked-by: NRobert Richter <robert.richter@amd.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b61e06f2
  17. 20 8月, 2008 1 次提交
    • A
      x86: fix oprofile + hibernation badness · 80a8c9ff
      Andi Kleen 提交于
      Vegard Nossum reported oprofile + hibernation problems:
      
      > Now some warnings:
      >
      > ------------[ cut here ]------------
      > WARNING: at /uio/arkimedes/s29/vegardno/git-working/linux-2.6/kernel/smp.c:328 s
      > mp_call_function_mask+0x194/0x1a0()
      
      The usual problem: the suspend function when interrupts are
      already disabled calls smp_call_function which is not allowed with
      interrupt off. But at this point all the other CPUs should be already
      down anyways, so it should be enough to just drop that.
      
      This patch should fix that problem at least by fixing cpu hotplug&
      suspend support.
      
      [ mingo@elte.hu: fixed 5 coding style errors. ]
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Tested-by: NVegard Nossum <vegard.nossum@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      80a8c9ff
  18. 19 8月, 2008 1 次提交
    • P
      x86: Coding style fixes to arch/x86/oprofile/op_model_p4.c · 20211e4d
      Paolo Ciarrocchi 提交于
      A coding style patch to arch/x86/oprofile/op_model_p4.c that
      removes 87 errors and 4 warnings.
      
      Before:
      total: 89 errors, 13 warnings, 722 lines checked
      
      After:
      total: 2 errors, 9 warnings, 721 lines checked
      
      Compile tested, binary verified as follow:
      
      paolo@paolo-desktop:~/linux.trees.git$ size /tmp/op_model_p4.o.*
         text    data     bss     dec     hex filename
         2691     968      32    3691     e6b /tmp/op_model_p4.o.after
         2691     968      32    3691     e6b /tmp/op_model_p4.o.before
      
      paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/op_model_p4.o.*
      8c1c9823bab33333e1f7f76574e62561  /tmp/op_model_p4.o.after
      8c1c9823bab33333e1f7f76574e62561  /tmp/op_model_p4.o.before
      Signed-off-by: NPaolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
      Cc: robert.richter@amd.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      20211e4d
  19. 26 7月, 2008 3 次提交