Как io_uring выполняет асинхронное чтение/запись? ⇐ Linux
Как io_uring выполняет асинхронное чтение/запись?
Недавно я пытался включить асинхронное чтение/запись в существующую функцию и наткнулся на io_uring. В Интернете доступно довольно много ресурсов по liburing и io_uring. Но, прочитав многие из них и будучи новичком в работе с ядром, мне до сих пор не ясно, на каком ядре ядро работает и выполняет запросы sqe.
Мое сомнение таково, скажем так, мое Основная программа работает на изолированном ядре 0 на моей двухъядерной машине. Как только я добавляю запись в кольцо sqe из этой программы, происходит следующее:
[*]Код ядра будет выполняться параллельно на ядре 1.
[*]Переключение контекста произойдет на ядре 0 позже, после чего будет выполнен код ядра.
Источник: https://stackoverflow.com/questions/781 ... ead-writes
Недавно я пытался включить асинхронное чтение/запись в существующую функцию и наткнулся на io_uring. В Интернете доступно довольно много ресурсов по liburing и io_uring. Но, прочитав многие из них и будучи новичком в работе с ядром, мне до сих пор не ясно, на каком ядре ядро работает и выполняет запросы sqe.
Мое сомнение таково, скажем так, мое Основная программа работает на изолированном ядре 0 на моей двухъядерной машине. Как только я добавляю запись в кольцо sqe из этой программы, происходит следующее:
[*]Код ядра будет выполняться параллельно на ядре 1.
[*]Переключение контекста произойдет на ядре 0 позже, после чего будет выполнен код ядра.
Источник: https://stackoverflow.com/questions/781 ... ead-writes
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение