Подскажите, где найти реализацию poll syscall на уровне машинных команд?
Можно ли получить такой листинг с помощью gcc -S на простейшем примере кода, где есть вызов poll()?
Если нет, то какие файлы ядра посмотреть? Поглядел /usr/src/linux-source-4.9/include/linux/poll.h - там ничего, напоминающего ассемблерный код, нет.
И ещё. Как poll связан с x86-инструкцией WAIT/FWAIT? Реализован ли poll() через прерывания процессора?
Или происходит сохранение контекста процесса (нити), переключение выполнения на другой участок кода?
В процессоре 80286 или 80386 были для этого инструкции ENTER / LEAVE.