On Monday 22,August,2011 12:07 AM, Ripunjay Tripathi wrote: > While studying Linux interrupt handling I found that Tasklets and > SoftIRQs are two different methods of performing "bottom half" (lesser > priority work). I understand this (quite genuine need). > > Difference being, SoftIRQs are re-entarant while a Tasklet is NOT. > That same SoftIRQ can run on different CPUs while this is NOT the case > with Tasklets. > > The simple reason why it can run on different CPU, is because it is using DIFFERENT hardware resources (eg, each CPU potentially has its own interrupt table - IDT), whereas tasklet are all synchronized using a COMMON OS memory-based mechanism, so unless u multi-thread that mechanism, it not possible to duplicate it across different CPU.
> Though I understand this from surface but I fail in understanding the > requirements of the two features. In what case(s) we may use these > facilities ? > > Also what do we mean by Tasklets are made upon SoftIRQs ? In one of > the books I read, in LKML there were debates upon removing Tasklets. I > got completely confused why one would bring in such a feature ? Some > shortsightedness (No offense meant) ? > > Any pointers on this will help a lot. > > Thanks for your time :) > Ripunjay Tripathi > > >