Messages in this thread | | | Subject | RE: How to schedule worker and threaded IRQ on same cpu/core | From | anish kumar <> | Date | Tue, 02 Oct 2012 21:17:16 +0530 |
| |
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
| |