Messages in this thread | | | Subject | Re: what is the function of do_softirq() ? | From | anish kumar <> | Date | Wed, 16 Jan 2013 20:50:40 +0530 |
| |
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@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@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > -- > Thank you > Warm Regards > Anuz > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
| |