Emmanuel, hi folks,

i'm not sure if i read the patch correctly, but i'd really would like to see
the setcontext()/swapcontext() to not use a system call. IIRC its using the
system call to set the signal masks etc. Can't this mask be kept in userland
only and inspected by the kernel on a signal? Would this make libpthread also
a lot faster? since it doesn't need a system call too? Can this info be stored
in a uncacheable page shared with all CPU cores so no IPI's need to be done
either? Maybe together with other data that needs to be synchronised anyway?

One of the reasons this is important to me is the excessive use of
setcontext()/swapcontext() in NetBSD/usermode. It would be nice if it really
gets down on system calls.

Talking on NetBSD/usermode, i'd really love someone to have a look/audit on
its use of setcontext()/swapcontext() since i know it has some shortcuts that
might be illegal / uncaring. I do get weird panics at time on a setcontext
that are most likely caused by these shortcuts.

With regards,
Reinoud

Reply via email to