Hello,
On Mon, Oct 30, 2006 at 12:00:52PM -0500, Vince Weaver wrote:
>
> I am using perfmon2 with a patch 2.6.18 kernel on a PIII machine.
>
> (one question... the patch did not seem to apply completely cleanly to
> the stock kernel.org 2.6.18 kernel. Is this expected? The rejects
> were mostly in x86_64 and other code that shouldn't effect my system).
>
Did that problem affect arch/i386/kernel/process.c?
Please verify the following:
In arch/i386/kernel/process.c:__switch_to(), you should have the exact same
statement:
if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
|| (task_thread_info(prev_p)->flags & _TIF_WORK_CTXSW)))
__switch_to_xtra(prev_p, next_p, tss);
^^^^^^^^^^^^^^
In arch/i386/kernel/process.c:__switch_to_xtra(), you should have the exact
same statement:
if (test_tsk_thread_flag(next_p, TIF_PERFMON_CTXSW)
|| test_tsk_thread_flag(prev_p, TIF_PERFMON_CTXSW))
pfm_ctxsw(prev_p, next_p);
^^^^^^^^^^^^^^^
I have seen this assertion failure before and it was due to one of the above
statement being wrong.
> Anyway, when running a command like this:
>
> pfmon --short-smpl-period=100000000 --long-smpl-period=100000000
> -e inst_retired,cpu_clk_unhalted -- gzip.dynamic input.program
>
> It runs until the end, and then crashes the machine hard (but luckily the
> following message makes it to the log so I can see it after reboot):
>
> Oct 29 20:37:50 spruengli kernel: ------------[ cut here ]------------
> Oct 29 20:37:50 spruengli kernel: kernel BUG at perfmon/perfmon_ctxsw.c:99!
> Oct 29 20:37:50 spruengli kernel: invalid opcode: 0000 [#2]
> Oct 29 20:37:50 spruengli kernel: Modules linked in: nfs lockd nfs_acl sunrpc
> xt_pkttype ipt_LOG xt_limit acpi_cpufreq freq_table processor autofs4
> snd_pcm_oss snd_mixer_oss snd_opl3_synth snd_seq_instr snd_seq_midi_emul
> snd_ainstr_fm snd_seq af_packet edd ip6t_REJECT xt_tcpudp ipt_REJECT xt_state
> iptable_mangle iptable_nat ip_nat iptable_filter ip6table_mangle ip_conntrack
> nfnetlink ip_tables ip6table_filter ip6_tables x_tables ipv6 snd_cs4232
> intel_agp ad1848 ns558 uart401 3c59x mii uhci_hcd agpgart gameport sound
> usbcore i2c_piix4 i2c_core snd_cs4236 snd_opl3_lib snd_hwdep snd_cs4236_lib
> snd_mpu401_uart snd_rawmidi snd_seq_device snd_cs4231_lib snd_pcm snd_timer
> snd soundcore snd_page_alloc lp
> Oct 29 20:37:50 spruengli kernel: CPU: 0
> Oct 29 20:37:50 spruengli kernel: EIP: 0060:[<c01e7586>] Not tainted VLI
> Oct 29 20:37:50 spruengli kernel: EFLAGS: 00210046 (2.6.18-perfmon2-default
> #3)
> Oct 29 20:37:50 spruengli kernel: EIP is at __pfm_ctxsw+0x106/0x2f8
> Oct 29 20:37:50 spruengli kernel: eax: 00000000 ebx: d92bb1f0 ecx:
> d92bb030 edx: d92bb030
> Oct 29 20:37:50 spruengli kernel: esi: cd99c000 edi: c0397f60 ebp:
> da3d7ab0 esp: d139dd80
> Oct 29 20:37:50 spruengli kernel: ds: 007b es: 007b ss: 0068
> Oct 29 20:37:50 spruengli kernel: Process gzip.dynamic (pid: 3236,
> ti=d139c000 task=d92bb030 task.ti=d139c000)
> Oct 29 20:37:50 spruengli kernel: Stack: d92bb030 da3d7ab0 00000000 15ec701c
> 00000350 d92bb1f0 d92bb030 c0397f60
> Oct 29 20:37:50 spruengli kernel: da3d7ab0 c0102d22 d92bb1f0 da3d7ab0
> da3d7c70 d92bb030 c0102e63 dec833c0
> Oct 29 20:37:50 spruengli kernel: d92bb030 d8703f28 d8703e84 c031924f
> d139de10 00000046 d8a8cbfc 00000001
> Oct 29 20:37:50 spruengli kernel: Call Trace:
> Oct 29 20:37:50 spruengli kernel: [<c0102d22>] __switch_to_xtra+0x61/0x92
>
> Any idea what the problem is?
>
> Thanks,
>
> Vince
>
> _______________________________________________
> perfmon mailing list
> [email protected]
> http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/
--
-Stephane
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/