Kernel thread stack usage

Attilio Rao attilio at freebsd.org
Sun Sep 30 11:32:30 PDT 2007


2007/9/30, Alexander Motin <mav at freebsd.org>:
> Hi.
>
> As known in netgraph susbystem information passing from one node to
> another by direct function calls without queueing. It gives performance
> bonuses, but it also gives permanent stack overflow risk on complicated
> graphs. Netgraph is still have a queues and able to use them when asked,
> but now queueing is a flag which should be controlled by sending node. I
> think it would be good to implement some algorithm which could monitor
> stack usage on each call and enforce queueing when stack usage become
> critical.
>
> The question is: is there correct way to somehow get current kernel
> thread stack usage or just a stack base address?

This should be stored in the pcb area of threads (for example, ia32
maintains a pcb_esp0 which points to the stack address at ring0 for
the thread which points to).

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


More information about the freebsd-arch mailing list