Pull to refresh
98
0
Vita Loginova @LifeV

User

Send message
  1. Пока что легкие потоки используются у нас как замена прослойки softirq. Это не главное, для чего они создавались, но в скором времени мы применим их по назначению. Конкретная задача, которая привела к появлению потоков — это драйвер tty, который использовал потоки и синхронизацию мьютексами, а нужно было это на маленькой плате запускать. Тогда из-за отсутствия легких потоков мы пошли обходным путем. Сейчас приоритеты у нас немного другие, но потом мы переведем tty на легкие потоки.
  2. О выигрыше во времени говорить тут не очень уместно. Легкие потоки работают быстрее обычных потоков, да, и в ближайшие пару недель я произведу соответствующие замеры. Но вот, например, если реализовать кооперативную многозадачность только через switch, это будет, очевидно, быстрее. Тут скорее речь идет об удобстве программирования с наименьшими затратами на память и такты. Да еще и круто, что любой легкий поток может синхронизоваться с обычными, передавать сообщения друг другу. То есть они не крутятся каждый в своей песочнице.
  3. Какие-то замеры у нас есть, хоть и не в систематизированном виде. Может, вас что-то конкретное интересует? Я попрошу коллег конкретные цифры предоставить.
Спасибо, вы правы, в статье исправила.
Спасибо за комментарии, это и подразумевалось под
как-то взаимодействует с аппаратурой

В статье уточнила.
Аппаратные прерывания асинхронны, они могут произойти в любой момент, в том числе в середине tasklet'а, и ISR, соответственно, обрабатывается сразу же.
Своего собственного стека у них нет, но на каком-то стеке они все же должны исполняться, так что после обработки ISR есть, какой контекст восстанавливать. В Linux (как минимум в x86), например, перед началом обработки softirq происходит переключение на специально выделенный стек.
Если погуглить, то такой перевод тоже встречается, по-моему, именно его я впервые в университете и услышала.
Но укажу тогда в скобочках и этот вариант, раз вопросы возникают.
На самом деле не забыли, если вы наведете на слово tasklet, то во всплывающей подсказке увидите именно эту цитату. Своего рода пасхалка :)

Читать ядро Linux и правда очень приятно.
Выше уже предложили версию, но у меня есть подозрение, что все проще.
Когда мы говорим про верх и низ страницы, мы говорим top и bottom. Если представить, что мы функцию поделим на две части, то верхняя, что будет исполняться раньше, — это top, а нижняя — bottom.
Спасибо, тема и правда интересная, я подумаю над ней.
Да, конечно, меня зовут Вита (Vita.Loginova), наверное, нетрудно догадаться по моему нику.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity