I am kind of a newbie when it comes to the Linux Kernel, but I was reading this article about fibrils where it mentions that they are (or were? not sure if they were ultimately kept in the Kernel) kernel space threads.
The article goes on saying:
A fibril is an execution thread which only runs in kernel space. ... Fibrils have their own stack, but otherwise they share all of the resources of their parent process. They are kept in a linked list attached to the task structure.
Having its own stack but sharing the rest of the memory with the parent process looks like the very definition of thread.
But what I'm wondering here is: can a process or thread in the kernel be a child of a userspace process? Or am I not understanding what the article meant and there's like one big parent process for all fibrils? I would not think so due to this:
A process can have any number of fibrils active, but only one of them can actually execute in the processor(s) at any given time
and in general the fact that a fibril should carry on a task from a calling userspace process.