kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* how tasklet_kill() worked?
@ 2019-07-06 10:10 kinglt
  0 siblings, 0 replies; only message in thread
From: kinglt @ 2019-07-06 10:10 UTC (permalink / raw)
  To: kernelnewbies

Dear mentors,

After tired digging, I'm wholly stuck in tasklet_kill(). Hope your help.

From the source tree (4.9.168), I got:
1. TASKLET_STATE_SCHED flag is only set by tasklet_schedule(). (also in
dccp_tasklet_schedule()).
2. tasklet_schedule() immediately put the tasklet to queue tasklet_vec.
3. softirq handler tasklet_action() run the queue and clear their SCHED
flag.
4. Unlike tasklet_kill_immediate, tasklet_kill() doesn't touch tasklet_vec.
5. tasklet_kill() just yield to waiting the tasklet complete and clear its
SCHED flag. 

Then how to say the tasklet been killed? If a tasklet SCHED flag been set,
it must be in tasklet_vec queue. At this time, tasklet_kill does not kick it
out of the queue but waiting it to run over. Is my understanding right or I
miss something?

Thanks,
laokz


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-07-06 10:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-06 10:10 how tasklet_kill() worked? kinglt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).