Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2006 04:13:04 -0800 (PST)
From:      kamal kc <kamal_ckk@yahoo.com>
To:        freebsd <freebsd-hackers@freebsd.org>
Subject:   rescheduling tasks using swi_add()
Message-ID:  <20060111121304.62832.qmail@web30013.mail.mud.yahoo.com>

next in thread | raw e-mail | index | archive | help
dear everybody,

i had previous thread going on about the cpu load 
average. and had some discussion regarding it. i have 
a newer thing to discuss on so i started this thread.

as i mentioned earlier i had put some code in the
bridge.c
that performed compression which took a long time and
hence 
i got a high number of interface interrupts (irq22: xl
interrupts).

so i thought of rescheduling the compression tasks
without 
blocking the bridge function. i found this function
swi_add() 
which i could use to add software interrupt handlers
that 
could be run at a later time without causing high
interface 
interrupts.

the man page discussed the swi_add() and swi_sched()
functions.

what i don't understand is, how do i register my
handler 
function ??
if i use the swi_add() for that purpose what 
do i use for the void *arg argument.
 
and how can i dispatch control to the software
interrupt handler ??
the swi_sched() uses only the cookie and the flags
arguments. 
there is no way i can pass arguments to my handler
function ..

i guess most of you are familiar with this and can
help me 
out ......



thanks, 

kamal







 
 



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060111121304.62832.qmail>