current->mmがNULLかどうかで、kernel threadか判断できるはずです。
割り込みかどうかの判断であるin_interrput()関数と
合わせて御利用ください。

pidの取得も問題ないはずですが、current->tgidとcurrent->pidが
紛らわしいので注意してください。