what is the function of do_softirq() ?

anish kumar anish198519851985 at gmail.com
Wed Jan 16 10:20:40 EST 2013


On Wed, 2013-01-16 at 10:25 +0000, Anuz Pratap Singh Tomar wrote:
> 
> 
> On Tue, Jan 15, 2013 at 6:31 AM, horseriver <horserivers at gmail.com>
> wrote:
>         hi:
>         
>            what is the function of do_softirq()?
Softirq is basically same as bottom half except it is run in irq
context.So the question which comes to mind is why softirq?Softirqs can
run concurrently on several CPUs and that is why it used in networking.
There are other advantages also but it is mostly use case dependent.
>         
>            It is called by ksoftirqd() ,which is setup by :
>         kernel_thread(ksoftirqd, hcpu, CLONE_KERNEL) ; 
ksoftirq is a saviour thread which takes up the execution of softirq if
it finds out that softirq are executing one by one and thereby userspace
is not being scheduled or none of other task is getting executed.As
threads have low priority it lets other tasks run.
>         
> Please read "Understanding the Linux Kernel" Chapter on Interrupts and
> Section on Softirqs and tasklets.  Page number 171(might be different
> in other editions) onwards.
> 
> 
> 
>         thanks!
>         
>         _______________________________________________
>         Kernelnewbies mailing list
>         Kernelnewbies at kernelnewbies.org
>         http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> 
> 
> 
> -- 
> Thank you 
> Warm Regards
> Anuz
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies





More information about the Kernelnewbies mailing list