public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* workqueue is not working?
@ 2005-11-17 23:05 Xin Zhao
  2007-07-20 12:07 ` Misbah khan
  0 siblings, 1 reply; 3+ messages in thread
From: Xin Zhao @ 2005-11-17 23:05 UTC (permalink / raw)
  To: linux-kernel

I tried to schedule some work in an softirq handler. The way I did is
as follows:

I use create_workqueue to initialize a workqueue "vrpciod_workqueue",

in the softirq, I do INIT_WORK(work, func, data), and then
queue_work(vrpciod_workqueue, work);

I think func() should be called a bit later. However, I noticed that
func() is never called by the workqueue. I don't know why.

Can soneone give me some suggestions? Many thanks!

Xin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: workqueue is not working?
  2005-11-17 23:05 workqueue is not working? Xin Zhao
@ 2007-07-20 12:07 ` Misbah khan
  2007-07-24  7:16   ` Misbah khan
  0 siblings, 1 reply; 3+ messages in thread
From: Misbah khan @ 2007-07-20 12:07 UTC (permalink / raw)
  To: linux-kernel


I didnt got very clearly what you actually did. But i guess you did faced
some problem to work with work queue ( Bottom half of the handler ) I
suggest you with an example code so that you could try with it and hope your
doubt would get cleared.

/* work queue register and initialize */
static DECLARE_WORK(queue_name,(void *)func_name,func_arq_ptr);

eg :-

static DECLARE_WORK(my_queue,(void *)my_func,NULL);

/* In the Interrupt handler you need to call the bottom half of the function
*/

schedule_work(&my_queue);

/* The function defination is like this */
void my_func(void)
{
       printk(" Hello from kernal land \n");
}

I hope this example will make your code to work for you , for any
clarification please let me know 

thanks 




Xin Zhao wrote:
> 
> I tried to schedule some work in an softirq handler. The way I did is
> as follows:
> 
> I use create_workqueue to initialize a workqueue "vrpciod_workqueue",
> 
> in the softirq, I do INIT_WORK(work, func, data), and then
> queue_work(vrpciod_workqueue, work);
> 
> I think func() should be called a bit later. However, I noticed that
> func() is never called by the workqueue. I don't know why.
> 
> Can soneone give me some suggestions? Many thanks!
> 
> Xin
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 

-- 
View this message in context: http://www.nabble.com/workqueue-is-not-working--tf573889.html#a11706967
Sent from the linux-kernel mailing list archive at Nabble.com.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: workqueue is not working?
  2007-07-20 12:07 ` Misbah khan
@ 2007-07-24  7:16   ` Misbah khan
  0 siblings, 0 replies; 3+ messages in thread
From: Misbah khan @ 2007-07-24  7:16 UTC (permalink / raw)
  To: linux-kernel


hi ..
There is a reply to you please find it and revert me back 

-misbah

Misbah khan wrote:
> 
> I didnt got very clearly what you actually did. But i guess you did faced
> some problem to work with work queue ( Bottom half of the handler ) I
> suggest you with an example code so that you could try with it and hope
> your doubt would get cleared.
> 
> /* work queue register and initialize */
> static DECLARE_WORK(queue_name,(void *)func_name,func_arq_ptr);
> 
> eg :-
> 
> static DECLARE_WORK(my_queue,(void *)my_func,NULL);
> 
> /* In the Interrupt handler you need to call the bottom half of the
> function */
> 
> schedule_work(&my_queue);
> 
> /* The function defination is like this */
> void my_func(void)
> {
>        printk(" Hello from kernal land \n");
> }
> 
> I hope this example will make your code to work for you , for any
> clarification please let me know 
> 
> thanks 
> 
> 
> 
> 
> Xin Zhao wrote:
>> 
>> I tried to schedule some work in an softirq handler. The way I did is
>> as follows:
>> 
>> I use create_workqueue to initialize a workqueue "vrpciod_workqueue",
>> 
>> in the softirq, I do INIT_WORK(work, func, data), and then
>> queue_work(vrpciod_workqueue, work);
>> 
>> I think func() should be called a bit later. However, I noticed that
>> func() is never called by the workqueue. I don't know why.
>> 
>> Can soneone give me some suggestions? Many thanks!
>> 
>> Xin
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/workqueue-is-not-working--tf573889.html#a11758042
Sent from the linux-kernel mailing list archive at Nabble.com.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-24  7:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-17 23:05 workqueue is not working? Xin Zhao
2007-07-20 12:07 ` Misbah khan
2007-07-24  7:16   ` Misbah khan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox