Re: delegating to a cpu

Raghava Raju (vraghava_raju@yahoo.com)
Mon, 30 Jun 2003 13:09:49 -0700 (PDT)


Arjan,

Driver is in development stage, so I have given u an
overview of how my interrupt handler looks like.
As u can see below, I am doing some minimal processing
in ISR and scheduling a tasklet for reamining
work(like allocating buffers and cleanup).
But problem with this is that tasklet ends up on same
cpu. I want some method where by I can make use of
second cpu, so that second cpu does the work what
tasklet is doing(i.e allocating buffers and clean up).

Please don't give a solution based on irq affinity to
second cpu, as we have only one interrupt.

void my_isr(int irq, void *dev_id, struct pt_regs
*regs)
{

/*Mask interrupts on the device */
write(register, nomore interrupts);

/*do some minimal amount of processing to
read data provided by the device*/
do_basic_read(dev_id);

/*schedule tasklet and give it remaining work.*/
tasklet_schedule();

/*Unmask interrupts on device*/
write(register, start generating interrupts);

}

Regards
Raghava.

--- Arjan van de Ven <arjanv@redhat.com> wrote:
> On Sun, 2003-06-29 at 17:34, Raghava Raju wrote:
> > Hi,
> >
> > Currently interrupt handler in our driver uses
> > tasklet to process some of less important info
> > to save some interrupt time. But problem is that
> > tasklet ends up in the same cpu, and second cpu
> > is not taking much of the work.
> > 1) Is there any mechanism to delegate the less
> > important work to other cpu an example would
> really
> > help.
>
> you don't give a lot of information about what you
> are trying to do...
> could you post an URL to your driver source, that's
> the easiest way to
> give this information...
>

> ATTACHMENT part 2 application/pgp-signature
name=signature.asc

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com
-
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/