lkml.org 
[lkml]   [2012]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: How to schedule worker and threaded IRQ on same cpu/core
From
Date
On Tue, 2012-10-02 at 15:14 +0000, Pallala, Ramakrishna wrote:
> > On Tue, 2012-10-02 at 12:54 +0000, Pallala, Ramakrishna wrote:
> > > > > How can I schedule driver's worker and threaded IRQ on the same core?
> > > > >
> > > > > For work queue we have schedule_delayed_work_on () API available.
> > > > > But how to schedule the threaded IRQ on the same core where my
> > > > > worker
> > > > thread is going to run?
> > > > Why do you need to worry about where your worker thread is going to run?
> > > > Or IOW what use case do you have in mind?
> > >
> > > In my driver I can get two independent events(IRQ and kernel
> > > notification). One will be handled by Threaded IRQ and other will be
> > > handled by a worker and the order is not guaranteed and with two cores
> > Sometimes both workers are being scheduled parallel.
> > So what is the problem even if they run in parallel, it would be really help if we
> > know what problem you are trying to solve?
> > Even if you want to sync between these two then you can have some
> > synchronisation mechanism between the two.
> > What is the advantage you are going to get if they run on same core?
> >
> > Sorry but these answers would really help community in resolving your problem.
>
> I think I got what I was looking for...
> synchronize_irq()
/*
* We made sure that no hardirq handler is running. Now verify
* that no threaded handlers are active.
*/
wait_event(desc->wait_for_threads, !
atomic_read(&desc->threads_active));

I think this makes sense now.
>
> basically I need to wait/pause my worker thread execution until my threaded handler is complete.
>
> Thanks for response.
>
> Thanks,
> Ram




\
 
 \ /
  Last update: 2012-10-02 18:01    [W:0.043 / U:1.620 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site