Re: How to hook a context switch??
From: Gromer (osIndgy_at_gmail.com)
Date: 10/23/05
- Previous message: Brendan: "Re: How to hook a context switch??"
- In reply to: Brendan: "Re: How to hook a context switch??"
- Next in thread: Scott Wood: "Re: How to hook a context switch??"
- Reply: Scott Wood: "Re: How to hook a context switch??"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 23 Oct 2005 03:51:50 -0700
Sorry the actual post was snipped off... below is pasted the actual
one..
Hi,
I have one issue and would like to get some expert advise from the
group. The below shown code snippet gives some idea about the scenario.
I have basically one function (func_1) which does a wake_up after
processing some information. Once the wake_up is executed the system
crashes.
So to debug this, i've put printks after the add_wait_queue() and
schedule function to capture the functions that gets executed with a
wake_up... but for no help.. Im unable to find the thread which gets
executed after the wake_up.
I'm wondering how to capture or debug which thread/function gets the
CPU when this wake_up has been executed... Any pointer would be highly
appreciable.
How is such a situation usually debugged?? Can such a context switching
be hooked..
/* Wait on here when we're waiting device to be ready */
wait_queue_head_t waitDev;
void func_1( struct func_arg*)
{
/*..Do some useful work */
wake_up(&waitDev); /* crash occurs here */
}
int sec_func (struct func_arg2 *)
{
/* some processing work done here */
....
..
set_current_state(TASK_UNINTERRUPTIBLE);
add_wait_queue(&waitDev, &wait);
spin_unlock(mutex);
schedule();
remove_wait_queue(&waitDev, &wait);
spin_lock(chip->mutex);
/* some more work is being done here */
}
Brendan wrote:
> Hi,
>
> "Gromer" <osIndgy@gmail.com> wrote in message
> news:1130052479.202415.126070@o13g2000cwo.googlegroups.com...
> > Hi,
> > Since i have'nt got any response for linux groups.. i'm posting it in
> > this group.. Hopefully someone in this group can throw some light :)
>
> Considering that I'm reading this in alt.os.development, the first
> thing I'd suggest is rewriting the entire OS to your liking. Starting
> with a "hello world" kernel booted from GRUB seems to be a
> popular way to begin. :-)
>
> On a more serious note, was there meant to be an attachment or
> something? It's a little hard for anyone to debug code without
> seeing it...
>
>
> Cheers,
>
> Brendan
- Previous message: Brendan: "Re: How to hook a context switch??"
- In reply to: Brendan: "Re: How to hook a context switch??"
- Next in thread: Scott Wood: "Re: How to hook a context switch??"
- Reply: Scott Wood: "Re: How to hook a context switch??"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|