Você não pode matar threads do kernel, ou qualquer processo bloqueado no estado D, porque os sinais só são entregues quando o kernel retorna ao modo de usuário. Além da limitação técnica de entrega de sinal, matar um thread no meio do código do kernel corromperia o sistema, já que o código do kernel pode estar mantendo um recurso importante no momento, como um bloqueio de giro ou mutex, e matá-lo evitaria recursos sejam liberados.
Se você tem um processo que está preso no estado D por um período prolongado de tempo, então você tem um bug do kernel. Consulte o link para dicas sobre como denunciá-lo.