[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1349192836.1440.40.camel@anish-Inspiron-N5050>
Date: Tue, 02 Oct 2012 21:17:16 +0530
From: anish kumar <anish198519851985@...il.com>
To: "Pallala, Ramakrishna" <ramakrishna.pallala@...el.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: How to schedule worker and threaded IRQ on same cpu/core
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists