yup, though that means you're wasting that core's compute; something with green threads where language runtime does a cross-core interrupt to submit syscall then continues execing other green threads until it gets a user interrupt for syscall completion would be pretty neat.
(ETA: and indeed looks like they're considering support for that in io_uring! https://lwn.net/Articles/869140/)