Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Sep 2008 09:34:47 +0100
From:      "kr Lekha" <kr.lekha@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   killing a kthread
Message-ID:  <96b2ec350809030134j73a61369m35395391a1218975@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,
i wanted to kill a kthread created by my module, There is no actual
kthread_kill to kill it

hence I tried to send kill signal to thread
 psignal(p, SIGTERM);
psignal(p, SIGKILL);
killproc(p,"messeage");
and kthread_suspend()

Nothing seems to be killing the kthread, I still see it
[root@ /usr/src]# ps awx -l | grep kernel
 UID   PID    PPID CPU PRI NI   VSZ   RSS MWCHAN STAT  TT       TIME COMMAND
  0     1048     1      0     20   0     0       8      ktsusp      DL
??     0:00.01 [new_kernel_thread]


I have noticed that generally if kernel module wanted to kill a thread then
it calls
{
   wakeup(p);
   msleep(p,0); /*or tsleep*/
}

This puts the thread to sleep forever. However kthread_suspend also performs
same actions.
Does scheduler take care to killing it?

I read that after 2 min scheduler wakes up the thread and
eventually kills it,
i see the same kthread suspended even after a day

I would appreciate any thoughts in this reagard.
Thanks,
-lekha



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?96b2ec350809030134j73a61369m35395391a1218975>