[so2] Planificarea de tasklet-uri mutiple

Vlad Dogaru ddvlad at herebedragons.ro
Fri Jul 25 17:07:47 EEST 2014


On Fri, Jul 25, 2014 at 04:35:48PM +0300, Catalin Vasile wrote:
> @Vlad suna un pic ciudat totusi.
> Prin impartirea in upper si bottom half parca se urmarea scurtarea codului
> din upper half ca sa nu ramana procesorul prea mult blocat intrerupere si
> sa se poata deservi repede alte intreruperi.
> Daca aceeasi intrerupere e triggered de 2 ori si nu i s-a terminat
> tasklet-ul primei executii, a doua intrerupere nu va fi tratata complet
> (tasklet-ul ei va fi ignorat) ?

Ba da, se poate întâmpla.  This is where the programmer steps in :)

Poți, de exemplu, ca în întrerupere să adaugi "work" (whatever work is)
la o coadă, urmând ca în tasklet să nu procesezi doar un "work", ci
toată coada.

Sau poate device-ul să aibă un ring buffer și tu să citești în tasklet
toate intrările valide din buffer.

Sau, dacă se pretează, dezactivezi întreruperea până se rulează
tasklet-ul.

Or a bunch of other options.

Vlad


More information about the so2 mailing list