On Fri, Nov 15, 2019 at 7:27 PM Vincent Blanchon
<blanchon.vinc...@gmail.com> wrote:
>
> I was wondering about the behavior of syscalls. It looks like Go always wraps 
> syscall - whatever blocking or not - with calling entersyscallblock() and 
> exitsyscall() later. The first one automatically detaches M from the P  when 
> exit tries to acquire the same P or move the G to the global queue. In the 
> case of non-blocking syscall, why do we have to detach M from the P?
> Did I miss something?

For system calls that are absolutely known to never block, like
getuid, Go does not use entersyscall/exitsyscall.  It just makes the
syscall.

But most system calls can block.

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXcdeJmBc5J7SJjxjQwYx%2BBVTe00-BeKkjstMCj2-iUZQ%40mail.gmail.com.

Reply via email to