From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HomYe-0006ZW-Tn for qemu-devel@nongnu.org; Thu, 17 May 2007 16:26:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HomYd-0006ZK-Fo for qemu-devel@nongnu.org; Thu, 17 May 2007 16:26:43 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HomYd-0006ZH-AL for qemu-devel@nongnu.org; Thu, 17 May 2007 16:26:43 -0400 Received: from wx-out-0506.google.com ([66.249.82.235]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HomQU-00026u-ID for qemu-devel@nongnu.org; Thu, 17 May 2007 16:18:18 -0400 Received: by wx-out-0506.google.com with SMTP id i30so1224130wxd for ; Thu, 17 May 2007 13:18:17 -0700 (PDT) Message-ID: <12835c8f0705171318r4b7fc2a4j39816d68266be240@mail.gmail.com> Date: Thu, 17 May 2007 13:18:17 -0700 From: "Shashidhar Mysore" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_48129_27374759.1179433097779" Subject: [Qemu-devel] "BUG: soft lockup detected on CPU#0!" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_48129_27374759.1179433097779 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, I want to instrument all store instructions, and for this I wrote a helper function (in helper.c) which prints out some information every time a store is executed. I call this helper function from within every store OPROTO in ops_mem.h for example: void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void) { glue(stl, MEMSUFFIX)(A0, T0); helper_print_info(A0); // MY HELPER FUNCTION FORCE_RET(); } This works just fine for me for some time, but after a while when the frequency of calls to helper_print_info increases, QEMU just hangs throwing out some information on the QEMU console. I have typed in the error message in parts below - (If you need more information, please let me know - I included a subset just because I do not yet know how to copy-paste text from QEMU console to the host machine console) ******************************************* BUG: soft lockup detected on CPU#0! Pid: 0, comm: swapper EIP: 0060:[] CPU: 0 EIP is at serio_interrupt+0x7f/0x18f EFLAGS: 00000286 ... [c02c1b2d>] cdrom_pc_intr+0x90/0x21a ... [] do_IRQ+0x4a/0x82 ======================= ... [] unknown_bootoption+0x0/0x1cd **************************************** QEMU hangs after throwing out the above error. However, if I switch to the Monitor and disable my helper function, QEMU resumes back and works fine. Can somebody tell me - 1. Am I instrumenting all stores if I instrument the OPROTOs in ops_mem.h? 2. From my above example, am I instrumenting the stores with my helper function in the right way? 3. Can you please tell me why "BUG: soft lockup detected..." error shows up freezing QEMU? Looking forward to your help. Thanks in advance. -Shashi. ------=_Part_48129_27374759.1179433097779 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi,

I want to instrument all store instructions, and for this I wrote a helper function (in helper.c) which prints out some information every time a store is executed. I call this helper function from within every store OPROTO in ops_mem.h

for example:
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
{
    glue(stl, MEMSUFFIX)(A0, T0);
    helper_print_info(A0); // MY HELPER FUNCTION
    FORCE_RET();
}


This works just fine for me for some time, but after a while when the frequency of calls to helper_print_info increases, QEMU just hangs throwing out some information on the QEMU console. I have typed in the error message in parts below - (If you need more information, please let me know - I included  a subset just because I do not yet know how to copy-paste text from QEMU console to the host machine console)

*******************************************
BUG: soft lockup detected on CPU#0!

Pid: 0, comm: swapper
EIP: 0060:[<c027adfb>] CPU: 0
EIP is at serio_interrupt+0x7f/0x18f
EFLAGS: 00000286
...
[c02c1b2d>] cdrom_pc_intr+0x90/0x21a
...
[<c0105b1d>] do_IRQ+0x4a/0x82
=======================
...
[<c04242fe>] unknown_bootoption+0x0/0x1cd
****************************************

QEMU hangs after throwing out the above error. However, if I switch to the Monitor and disable  my helper function, QEMU resumes back and works fine.
Can somebody tell me -
1. Am I instrumenting all stores if I instrument the OPROTOs in ops_mem.h?
2. From my above example, am I instrumenting the stores with my helper function in the right way?
3. Can you please tell me why "BUG: soft lockup detected..." error shows up freezing QEMU?

Looking forward to your help.
Thanks in advance.
-Shashi.
------=_Part_48129_27374759.1179433097779--