The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Увеличение скорости ввода/вывода на 6% в Linux, благодаря кэшированию запросов времени

16.01.2024 20:51

Jens Axboe, создатель io_uring и сопровождающий блочную подсистему в ядре Linux, смог увеличить число операций ввода/вывода в секунду (IOPS) как минимум на 6% (возможно больше на полновесных конфигурациях ядер Linux), потратив всего 5 минут на кодинг. Идея состоит в том чтобы кэшировать запрос текущего времени в блочной подсистеме, совершаемый при каждой операции ввода/вывода, поскольку в блочной системе нет ничего, что нуждалось бы в наносекундной точности времени. Как пишет Axboe, больше всего он сожалеет о том, что не сделал это еще 5 лет назад, когда идея впервые пришла ему в голову - потому что, как оказалось, реализация идеи заняла всего 5 минут.

  1. Главная ссылка к новости (https://www.phoronix.com/news/...)
  2. OpenNews: Google отключил поддержку io_uring в ChromeOS и Android из-за плачевного состояния безопасности
  3. OpenNews: Выпуск библиотеки libuv 1.45.0 с поддержкой подсистемы io_uring
  4. OpenNews: Применение асинхронной буферизированной записи на базе io_uring до 80 раз снизило задержки в XFS
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60445-kernel
Ключевые слова: kernel, linux, optimization
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (138) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:42, 16/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +80 +/
    Выпиливание Snap увеличивает скорость ввода/вывода на 300%
     
     
  • 2.3, Alladin (?), 23:50, 16/01/2024 [^] [^^] [^^^] [ответить]  
  • +25 +/
    на 3000%
     
  • 2.8, Аноним (8), 00:11, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –27 +/
    И увеличит время на установку и обновление проприетарного софта типа Zoom, Teams на 300000000%, не говоря уже про "загрязнение" системы.
     
     
  • 3.13, Аноним (13), 00:22, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >И увеличит время на установку и обновление проприетарного софта типа Zoom до +∞, так как софта в принципе не будет, а распространять неофициальные версии или прошлые официальные не с са1та копирайтоторговца - нарушение копирайта.

    Пофиксил.

     
     
  • 4.32, Аноним (32), 01:23, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А в чём подвох?
     
  • 3.16, Аноним (-), 00:34, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +7 +/
    yay -S teams zoom

    думаю, в убунтах будет три строчки вместо одной, но тоже никто не помрёт. а вот от тормозов snap помереть можно. мучительно. очень.

     
     
  • 4.20, Аноним (8), 00:45, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, в нормальных дистрибутивах ничего не будет.

    Flatpak, для проприетарщины, как firejail для wine - стандарт.

     
     
  • 5.23, Аноним (23), 01:03, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >как firejail для wine - стандарт.

    Проясните. У меня сандбоксинг виндовых приложений через firejail никогда не работал. Вайн даже не стартовала.

     
     
  • 6.38, Аноним (8), 01:43, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А в чем сложность? firejail --private=/home/user/Temp/sandbox/steam/ /usr/bin/steam
     
     
  • 7.104, Аноним (104), 12:39, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В том, что я не --private, который создаёт виртуальный хомяк, использую, а --(no)?(white|black)list, --net и т.д. И не работают даже простейшие приложения, не говоря уже о Foxit Reader. К тому же всё это тщетно - одно приложение стартует кучу демонов вайна. Второе - подключается к тем же демонам. То есть засандбоксив одно приложение - остальные попадают в ту же песочницу.

    Это говорит о том, что не firejailом надо вайн оборачивать, а SandboxIE (он опенсорсный!) в сам вайн интегрировать.

     
     
  • 8.109, adolfus (ok), 13:52, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Foxit Reader Чем он лучше okular Спрашиваю, потому что не пользуюсь ... текст свёрнут, показать
     
     
  • 9.116, Аноним (116), 14:39, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно отключить JavaScript, можно редактировать закладки ... текст свёрнут, показать
     
     
  • 10.159, adolfus (ok), 00:46, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что, разве окуляр использует javascript Окуляр имеет стековую систему навигац... текст свёрнут, показать
     
  • 8.134, Аноним (134), 17:18, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дружище, ты вообще представляешь себе, через какие механизмы работает SandboxIE,... текст свёрнут, показать
     
  • 5.36, Аноним (-), 01:38, 17/01/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.49, Аноним (8), 04:30, 17/01/2024 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 7.102, rshadow (ok), 12:17, 17/01/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.93, Аноним (93), 11:06, 17/01/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.84, Аноним (84), 10:25, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вылазит какая то древняя версия.
     
  • 4.92, Umnik (?), 11:05, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ставится нерабочая версия Зума. По крайней мере ставилась в конце декабря, сейчас не проверял. Пришлось из tar.gz с офсайта ставить.
     
     
  • 5.120, 12yoexpert (ok), 15:11, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    там 500 версий этого зума, я проприетарью не пользуюсь, написал первый попавшийся
     
     
  • 6.121, 12yoexpert (ok), 15:12, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    даже с firejail есть
     
  • 3.58, penetrator (?), 06:30, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    ненужное, ни то ни другое, на крайний случай из браузера зум откроешь, а тимс вообще не нужное, что может сделать корпорация убившая скайп? опомнись
     
     
  • 4.60, Аноним (60), 06:53, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что, скайпа нет уже? Хорошая новость. Проглядел как-то...
     
     
  • 5.110, YetAnotherOnanym (ok), 13:54, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ходили слухи, что скайп перевели на ноду и уебртц (https://www.opennet.dev/opennews/art.shtml?num=44783). Возможно, под "смертью скайпа" мсье Аноним имеет в виду именно это.
     
     
  • 6.143, Аноним (-), 22:53, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Возможно, под "смертью скайпа" мсье Аноним имеет в виду именно это.

    После перехода на супер-дупер веб технологии он утратил главное достоинтсво - "работает везде". После чего как-то стал всем нахрен нужен - с него все хомячки уже по сути и посваливали.

    Вот так парой очередных умных манагерских решений можно профачить один из самых популярных мессенжеров.

     
     
  • 7.158, Самый Лучший Гусь (?), 14:55, 19/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вобщемта именно после перехода не веб-технологии он и стал работать везде, то есть в хроме. А хром есть везде. До перехода на эти ужасные технологии скайп в линуксе выглядел и работал как убитый трактор.
     
     
  • 8.163, Аноним (163), 06:18, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не понял Я имел в виду дурные сетевый конфигурации Скайп находил дорожку ... большой текст свёрнут, показать
     
  • 4.70, Vasya (??), 08:03, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это вы, батенька, в реалиях рф. В западных компаниях тимс это приложение по-умолчанию для конференций. Иногда еще встречается вебекс, но в основном, 99% конференций всегда будут в тимс.
    Скажу даже больше, на тимс  переходят многие даже в качестве замены внутренней телефонии, а pstn сип транки заводятся через direct routing.
     
     
  • 5.78, Бывалый смузихлёб (?), 09:20, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > В западных компаниях тимс это приложение по-умолчанию для конференций

    Ну а почему бы и нет. Лоббизм и завязывание всех на своей инфраструктуре - оно такое

     
     
  • 6.103, Аноним (-), 12:36, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Или отказ пользоваться унылым овном слепленным на коленке васянами и дизайненным бомжом после делирия.

    Назови какой-то аналог тимс, только открытый?
    Мне было бы интересно посмотреть на это чудо.

     
     
  • 7.111, penetrator (?), 14:00, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Или отказ пользоваться унылым овном слепленным на коленке васянами и дизайненным бомжом
    > после делирия.
    > Назови какой-то аналог тимс, только открытый?
    > Мне было бы интересно посмотреть на это чудо.

    не знаю, что ты имеешь ввиду под аналогом, но видеоконференцию можно сделать даже в Signal, со всей его надежностью и безопасностью

    и что там с Матриксом? не работает?

     
     
  • 8.125, User (??), 15:22, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, если для себя и кота - то норм, работает А если человек хотя бы 200 и час... текст свёрнут, показать
     
  • 8.130, Vasya (??), 15:56, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дело не в том, что нет альтернатив Тимсу, а в том, что все его используют Вот п... текст свёрнут, показать
     
  • 6.118, User (??), 14:53, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, ты эта... походи по базару, поищи что лучше. jitsi или там какой apache openmeeting не предлагать, ок?
     
  • 3.59, Аноним (60), 06:53, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > установку ... проприетарного софта типа Zoom, Teams ... "загрязнение" системы.

    Так лучше. Нет?

     
  • 3.72, Аноним (72), 08:30, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не увеличит. Снап не единственный и худший среди альтернатив по контейнерам (это если без мусора). А если с нативом сравнивать так контейнеры всегда проигрывают и по скорости установки и тем более по скорости обновления by design.
     
     
  • 4.85, Аноним (84), 10:27, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Куда ты торопишься? У тебя что там конкурс на скорость открытия программ?
     
  • 2.33, Аноним (-), 01:23, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Выпиливание Snap увеличивает скорость ввода/вывода на 300%

    А если у меня его нет - тогда придется, вот, как лоху, 6% довольствоваться. Но те 300% я же и не просирал :)

     
     
  • 3.41, Kuromi (ok), 02:00, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если ты на *бунточке, то расслабься, там периодически идут разговоры о том чтобы перевести все на шнапсы. Опять же идейки продвигать Ubuntu Core на десктоп уже озвучивались на этот год. При этом, ЧСХ, сразу же признание что tinkerers будут недовольны потому что контроль тю-тю.
     
     
  • 4.42, Аноним (-), 02:16, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если ты на *бунточке, то расслабься, там периодически идут разговоры о том
    > чтобы перевести все на шнапсы.

    Я на дебиане. Облом, да? "И пусть эта тля подавится!" :)

    > Опять же идейки продвигать Ubuntu Core
    > на десктоп уже озвучивались на этот год.

    Да вон там и фуксию на десктоп - продвигали. В соседней новости. Мало всякой фигни на свете чтоли?

    > При этом, ЧСХ, сразу же признание что tinkerers будут недовольны потому что контроль тю-тю.

    Ну так пусть хомячки и юзюют если хотят. А если окажется что хомячкам майки уже винду впарили - ну, окей, этот мир жесток, значит эти ненужные - должны умереть. Ибо кто их аудитория?

     
     
  • 5.50, paulus (ok), 05:26, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Да вон там и фуксию на десктоп - продвигали.

    уже не продвигают и даже хоронят в соседней новости :)

     
     
  • 6.112, Аноним (-), 14:14, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да вон там и фуксию на десктоп - продвигали.
    > уже не продвигают и даже хоронят в соседней новости :)

    Ну так я и написал - "продвигали". Мы говорим продвигали, подразумеваем "пытался совершить посадку самолет номер 13". Убунта тоже много чего - продвигала. При том болшая часть этого - уже не с нами. А для меня вот это все - повод убунтой не пользоваться, соответственно.

    Простите, setup.exe еще в винде заколебали кучей васяноподелок в платформе, где никто ни за что не отвечает - так что если в условном zlib нашли вулн - ну вот попробуйте теперь обновить 50 разномастных программ с ним вообще, удачи! А с пакетником что - поставил 1 либу и весь софт в системе пофиксился. Я нахожу такую разницу в администрировании симпатичной мне, потому и...

     
     
  • 7.153, Анонимщик (?), 19:36, 18/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Или не пофиксился, если в новой версии либы совместимость сломали.
     
     
  • 8.167, Аноним (167), 06:52, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я даже и не вспомню таких прецедентов в дистрах ориентированых на продакшн, типа... текст свёрнут, показать
     
  • 5.86, Аноним (84), 10:28, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так ты на дкбивне сидишь на древнесофте всегда.
     
     
  • 6.114, Аноним (114), 14:19, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Так ты на дкбивне сидишь на древнесофте всегда.

    С другой стороны я могу предсказуемо поделать свои проекты вместо разгребания ошметков по углам и решения новых, неизвестных мне ранее проблем на ровном месте.

    А если вы хотите сказать что за пару лет появляется софт который все радикально изменит и я стану намного эффективне... ну и вот что это за софт мог бы быть?

     
  • 2.75, WE (?), 09:07, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У меня нет никакого span в centos, пользуйся.
     
  • 2.141, BrainFucker (ok), 21:04, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это как на Андроидах, отключение Google Play, Google Play Services и прочего хлама увеличивает время работы от батареи раза в два.
     

     ....большая нить свёрнута, показать (48)

  • 1.4, Аноним (4), 23:51, 16/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Сначала пять минут на кодинг, а потом Гугл отключает ио ринг к ебеням из-за дыр.  Доверие к этой технологии утеряно. И к автору.
     
     
  • 2.17, Аноним (-), 00:35, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    можно пояснительную бригаду для домохозяек?
     
     
  • 3.68, Агент Клаус (?), 07:56, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Гуглится как «google отключает io_uring”
     
  • 2.31, Аноним (-), 01:22, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Сначала пять минут на кодинг, а потом Гугл отключает ио ринг к ебеням из-за дыр.
    >  Доверие к этой технологии утеряно. И к автору.

    Как отключат - так и включат, посчитав сколько серверов в проде можно сэкономить. Ибо безопсность конечно хорошо, а бабки считать - еще лучше.

     
     
  • 3.88, Аноним (84), 10:30, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они на Андроиде отключили и хромос, лол.
     
     
  • 4.115, Аноним (114), 14:20, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Они на Андроиде отключили и хромос, лол.

    Так это тогда вообще не их проблемы - а хомячков которые это купили :). Не у них же тормозит! :)

     
     
  • 5.140, Аноним (140), 19:46, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что именно тормозит? Вам точно нужны эти миллионы IOPS на смартфоне?

    io_uring нужен разве что на серверах, и то не на всех.

     
     
  • 6.144, Аноним (-), 22:59, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что именно тормозит? Вам точно нужны эти миллионы IOPS на смартфоне?

    Ну, правильно, надо ускорять - быстрых, замедлять - медленных, трахаться - за девственность и воевать - за мир. Так победим. При том, кажется, самих себя.

    > io_uring нужен разве что на серверах, и то не на всех.

    И правда - зачем вон тем эффективное IO? Все равно вебманки все угробят электроном.

     
  • 3.117, Аноним (117), 14:51, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Думаешь, у гугла нет своего RnD, который бы патчил настолько заметные узкие места? Не стоит свои нищенские будни натягивать на современных айти гигантов.
     
     
  • 4.142, BrainFucker (ok), 21:06, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Думаешь, у гугла нет своего RnD, который бы патчил настолько заметные узкие места?

    Они толстые места патчить не хотят, чего уж до узких.

     

  • 1.5, Аноним (13), 23:53, 16/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Идея состоит в том чтобы кэшировать запрос текущего времени в блочной подсистеме, совершаемый при каждой операции ввода/вывода, - поскольку в блочной системе нет ничего, что нуждалось бы в наносекундной точности времени.

    Доиграются-доускоряются. Будет очередная уязвимость по типу race condition. 6% - это пренебрежимо малая цена за наличие строгого упорядочения.

     
     
  • 2.6, Аноним (13), 23:58, 16/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Nobody really needs nsec granularity on the timestamp.

    Отучаемся говорить за всю сеть.

     
     
  • 3.57, name (??), 06:21, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    там по идее никто не мешает сделать наносекунды обычным каунтером чтобы не было коллизий
     
     
  • 4.89, Аноним (84), 10:34, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Может тогда совсем часы реального времени убрать из системы?
     
     
  • 5.99, Жук (?), 11:44, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Убирайте, я разрешаю
     
  • 2.56, Аноним (56), 06:20, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Послушать тебя, так вообще планировщик ненужен. А чего? Все должно тупо вряд стоять. А очереди к разным процессорам/ядрам это вообще ненужно. Подумаешь прерывания какие-то являющиеся главным тормозом системы, да?
     

  • 1.10, Aliech (ok), 00:15, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Шаг 1. Для унификации всего подряд (где-то в районе перехода на 3ю и 4ю версии ядра, чтобы Гуглу проще было с зоопарком ядер на Андройд) делаем возможность подменять системные вызовы ядра на железо-специфичные хуки. Достигается это через разбор кучи условий, в т.ч. через просмотр device tree прямо в рантайме. То есть через лишние накладные расходы к банальному вызову time().
    Шаг 2. Думаем, как бы нам кешировать результат системного вызова time(). Ведь системные вызовы такие не быстрые, да.
     
     
  • 2.29, Аноним (-), 01:20, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Шаг 1. Для унификации всего подряд (где-то в районе перехода на 3ю и 4ю версии ядра,
    > чтобы Гуглу проще было с зоопарком ядер на Андройд) делаем возможность подменять
    > системные вызовы ядра на железо-специфичные хуки. Достигается это через разбор кучи
    > условий, в т.ч. через просмотр device tree прямо в рантайме.

    Нельзя ли поконкретнее - про что это? File:line в студию? Сорц ядра у меня есть, я проверю.

    > То есть через лишние накладные расходы к банальному вызову time().

    1) Ядро != юзермод и у него свои внутренности, которыми оно может пользоваться и без всяких сисколлов. И если еще и посмотреть сабжевый код - оно там внутренние фичи ядра и дергало.
    2) Смотрение на часы никогда не было какой-то особо простой и дешевой операцией...

     
     
  • 3.34, Аноньимъ (ok), 01:27, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > 2) Смотрение на часы никогда не было какой-то особо простой и дешевой операцией...

    Почему?

     
     
  • 4.39, Аноним (39), 01:47, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Потому что:
    а) часы - это устройство ввода-вывода, а значит работа с ними - уже недешевое по меркам процессора удовольствие (впрочем, tsc этот момент изрядно оптимизировал по сравнению с HPET и PIC)
    б) если говорить про юзерспейс, то обращение к часам происходит через отдельный вызов сисколла (а значит привет, переключение контекста). Этот момент, впрочем, тоже в современных системах сильно оптимизирован за счёт vdso.

    В общем, уже по тому, насколько работу с часами обмазали разными оптимизациями, уже можно понять, насколько это больное место в плане производительности.

     
     
  • 5.100, uis (??), 12:06, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    TSC раком ставит процессор. А если виртуализация включена - то вообще бяда - происходит вызов в гипервизор.
     
     
  • 6.128, n00by (ok), 15:38, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > TSC раком ставит процессор.

    The RDTSC instruction is not serializing or ordered with other instructions. It does not necessarily wait until all
    previous instructions have been executed before reading the counter. Similarly, subsequent instructions may begin
    execution before the RDTSC instruction operation is performed.

    Осталось понять, кто тут процессор.

     
  • 5.135, Аноним (135), 17:32, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > если говорить про юзерспейс, то обращение к часам происходит через отдельный вызов сисколла

    Нет, если говорить про юзерспейс то обращение к часам происходит через чтение инта из зашаренной страницы памяти.

     
  • 4.43, Аноним (43), 02:24, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Например, со временем все немного сложнее чем кажется Особенно с его стабильнос... большой текст свёрнут, показать
     
     
  • 5.137, Аноньимъ (ok), 18:33, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, то что следить за временем это не просто совсем с кучей камней - это мне понятно.
    То есть как ядро свои часы считает это одно, но, смотреть на часы ядра, которые по идее просто инт в памяти - это другое.
     
     
  • 6.168, Аноним (-), 00:21, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нет, то что следить за временем это не просто совсем с кучей
    > камней - это мне понятно.
    > То есть как ядро свои часы считает это одно, но, смотреть на
    > часы ядра, которые по идее просто инт в памяти - это другое.

    Так может сказать только тот кто никогда не пробовал это или что-то отдаленно напоминающее заимплементить сам.

    Например - это в общем случае не "просто читает int". Если записывает кто-то другой, начинает волновать кеширование и атомарность чтения. Иначе "просто читая int в памяти" однаждо можно читануть нечто странное. При том - это именно фигня из разряда "раз в год и палка стреляет", так что удачи в дебаге.

    А если вон то учесть - даже одно только это само по себе - уже несколько более дорогая и сложная операция чем "просто чтение int из памяти".

     
     
  • 7.170, Аноньимъ (ok), 10:44, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нельзя. Запись и чтение атомарные.

    И вон в тех цп время вообще в отдельном регистре, как и должно быть.

     
     
  • 8.171, n00by (ok), 14:22, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пора бы уже начать хоть что-то понимать в теме, прежде чем писать code ifnde... текст свёрнут, показать
     
     
  • 9.172, Аноньимъ (ok), 14:42, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хоть что-то понимаю Ну и что это за муть без единого комментария Вы бы лучше ... текст свёрнут, показать
     
     
  • 10.174, n00by (ok), 14:55, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это понятный каждому системному программисту код с комментарием по существу Зач... текст свёрнут, показать
     
     
  • 11.175, Аноньимъ (ok), 15:16, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем вы мне что-то вообще пишите В глаза смотреть, чтение и запись инта атом... текст свёрнут, показать
     
     
  • 12.176, n00by (ok), 08:28, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Увидел чушь про атомарность чтения Показал код, решающий проблему Вопросы здес... текст свёрнут, показать
     
  • 7.173, Аноньимъ (ok), 14:45, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Если записывает кто-то другой

    Никто кроме ядра время устанавливать не должен.

    И происходить это не каждую минуту и не каждый час должно.

     
  • 3.37, Аноним (37), 01:42, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 2) Смотрение на часы никогда не было какой-то особо простой и дешевой операцией...

    Уже не актуально, так как время можно смотреть через vdso.

     
     
  • 4.44, Аноним (43), 02:26, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> 2) Смотрение на часы никогда не было какой-то особо простой и дешевой операцией...
    > Уже не актуально, так как время можно смотреть через vdso.

    У того гражданина 20% времени - смотрение на часы оказалось. Вот он и захотел кешировать это дело.

     
  • 3.71, Aliech (ok), 08:11, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да пожалуйста Ядро 6 1 61, например, файл drivers clocksource arm_arch_timer c... большой текст свёрнут, показать
     
     
  • 4.73, n00by (ok), 09:05, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А почему не с ifdef CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND или с code wa a... большой текст свёрнут, показать
     
     
  • 5.90, Aliech (ok), 10:48, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кажется да Если кратко массив ool_workarounds см drivers clocksource arm_arc... большой текст свёрнут, показать
     
     
  • 6.126, n00by (ok), 15:30, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gt оверквотинг удален В эти дебри я вообще не вникал за ненадобностью arch_ti... большой текст свёрнут, показать
     
  • 4.119, Аноним (114), 15:00, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отличный образчик затыкания хардварных ERRATA софтом И чего Надо было сказать ... большой текст свёрнут, показать
     
     
  • 5.129, Умею пользоваться поисковиком (?), 15:52, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вас Я таки признал, что ошибся, в части дёргает devicetree при каждом вызове ... большой текст свёрнут, показать
     
     
  • 6.133, n00by (ok), 16:40, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> А, ну то-есть признаете что все же попытались меня наесть. При инициализации - может хоть канкан танцевать, в разумных пределах. А вот в крейсерском режиме вон то было бы удивительно.
    > Вас? Я таки признал, что ошибся, в части "дёргает devicetree при каждом
    > вызове". Дело давно было, когда я туда заглядывал последний раз. Так
    > что это я публично глупость спорол, предварительно не перепроверив. Зачем вы
    > это выворачиваете осмысленной попыткой обманут конкретно вас?

    Сам по себе факт, что тут признали ошибку открыто - большая редкость. Потому тот Аноним про это и написал. Плюс, у него такой стиль, что бы отличаться от других Анонимов, любящих говорить от имени "всех". Вот их "наесть" не получилось бы при всём желании - они всё равно ничего не поняли.

     
  • 6.147, Аноним (-), 00:14, 18/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В том числе и меня - технически некорректным утверждением Мне настолько жирны... большой текст свёрнут, показать
     
     
  • 7.149, Aliech (ok), 02:40, 18/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И вот мы находимся в моменте, когда и dtb вроде бы внедрили, а в прод по-прежнем... большой текст свёрнут, показать
     
     
  • 8.169, Аноним (-), 03:26, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я использую майнлайн ядра Если проблема мешает жить, я стараюсь чтобы ее устран... большой текст свёрнут, показать
     
  • 7.152, n00by (ok), 19:36, 18/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мне одно не вполне понятно, почему эту штука упорно называется хуком, а не колбеком, например. В моём понимании, хук, это когда функциональность отсутствует и её прикручивают чем-то типа синей изоленты. По запросу linux+kernel+hook первое попавшееся "At the time, it was a hot patching technology for Linux" https://www.programmersought.com/article/70331869018/ что я и ожидал увидеть. Через призму этой неточности остальной текст не вызвал удивления.
     
     
  • 8.154, n00by (ok), 19:52, 18/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ммм это тоже вполне ожидаемо для первого попавшегося code inline unsigned ... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (30)

  • 1.11, Аноним (13), 00:18, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Querying the current time is the most costly thing we do in the block layer

    nehalem: rtdsc throughput^-1: 24, портов не занимает.

    Ну в принципе довольно долго, да, так как умножение - 1-2. Плюс ещё по 6 тактов на освобождение нужных регистгов. Но не настолько долго, чтобы ради производительности это упразднять.

     
     
  • 2.28, Аноним (-), 01:16, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну в принципе довольно долго, да, так как умножение - 1-2. Плюс ещё по 6 тактов
    > на освобождение нужных регистгов. Но не настолько долго, чтобы ради производительности
    > это упразднять.

    Он просто посмотрел на это в "perf top" и увидел что ему не нравится тот процент. Так просто и банально. Да, в линухе есть довольно продвинутый профайлинг. Уже давно.

     
  • 2.76, n00by (ok), 09:13, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    IA SDM Vol 3b, 17.17.1

    Invariant TSC

    The time stamp counter in newer processors may support an enhancement, referred to as invariant TSC.

    Processor’s support for invariant TSC is indicated by CPUID.80000007H:EDX[8].
    The invariant TSC will run at a constant rate in all ACPI P-, C-. and T-states. This is the architectural behavior
    moving forward. On processors with invariant TSC support, the OS may use the TSC for wall clock timer services
    (instead of ACPI or HPET timers). TSC reads are much more efficient and do not incur the overhead associated with
    a ring transition or access to a platform resource.

     

  • 1.18, Аноним (13), 00:36, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Объясните мне, зачем взаимодействие с io_uring вообще идёт через сисколы? Для настройки и заверления зачем сискол нужен понятно. Но зачем нужен io_uring_enter? Ядро же само в отдельном потоке на отдельном ядре может проверить кольцевой буфер, без всякого сискола в потоке приложения. Ядро и так переключает потоки и процессы по таймеру и событиям, может заодно и буффер проверять. В результате при таком механизме вообще никаких доп. задержек на сисколы от приложения. Зачем нужен этот сисколл?
     
     
  • 2.19, Аноним (19), 00:42, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то у меня ощущение, что будет лагать. А как сообщить с nohz, когда прерывания не тикают?
     
     
  • 3.40, Аноним (39), 01:51, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С nohz прерывания на процессорном ядре не тикают только если runnable таска только одна.
     
  • 2.96, Аноним (96), 11:19, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В спинлоке что-ли ядро должно мониторить кольцевой буфер?
     
     
  • 3.105, Аноним (105), 12:48, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Варианты возможны. Можно и в спинлоке (как оказалось, на новых процах он эффективный). А можно и подождать, пока контекст естественным образом переключится на ядро: сетевой пакет там прийдёт, или пользователь мышью двинет, или таймер вытесняющей многозадачности сработает... Должно решаться адаптивно. Если поток событий i/o через io_uring высок, то выделить ядра cpu только под ядерный код. Если поток небольшой - то ждать естественного переключения на ядро.
     
  • 2.122, Аноним (117), 15:14, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Инструкцию пробовал читать?

    Ядро переключает потоки через прерывание, которое потом обрабатывается на одном из ядер вытесняя обычные приложения. Ядро не может здесь делать ничего тяжёлого.

    io_uring может использоваться в разных вариантах, в частности можно запустить обработку сразу в отдельном ядерном потоке и тогда io_uring_enter(...) нужен для управления потоком и синхронизации. А можно и не запускать. В остальных случаях io_uring_enter(...) для приложения работает как более эффективный poll-ер с гранулярной настройкой порога срабатывания, позволяющий снижать кол-во сисколов при прочих равных.

     

  • 1.30, Аноньимъ (ok), 01:21, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    > поскольку в блочной системе нет ничего, что нуждалось бы в наносекундной точности времени.

    О сколько открытий чудных ждёт в будущем. Ну хотя, за 5 минут добавили, за 5 и убрать можно.

    > как оказалось, реализация идеи заняла всего 5 минут.

    Дурное дело не хитрое.

    А собственно почему, чтение времени вообще хоть какую-то задержку несёт?

    Это-же блин должно быть доступное всем подсистемам значение для чтения, писать и читать можно одновременно. И если я верно помню, у каждого ядра ЦП свой таймер, то есть NUMA локальность соблюдается.

    Или они каждый раз для каждой программы делают прерывание чтобы время узнать? Да ну не может быть такого.

     
  • 1.47, Аноним как всегда (?), 03:11, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Монтирую диски на своем локалхостике как noatime,nodiratime,commit=60 уже лет 10 как как появились ssd диски
     
     
  • 2.52, Аноним (52), 05:36, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И получаешь увеличение скорости операций на 2%, которую на глаз даже заметить не можешь)
     
     
  • 3.82, Аноним (84), 10:21, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А на самом деле он это добавил чтобы сократить число записей якобы ссд так дольше живут.
     
     
  • 4.106, Аноним (52), 12:52, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    SSD - это расходник.

    Сколько он своими твиками прибавит к работе SSD? Неделю к трем, пяти годам? )))

     
     
  • 5.107, Аноним (19), 12:54, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нормальные ссд примерно вечные кстати, ты просто зажрался.
     
     
  • 6.108, Аноним (52), 13:17, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, у меня их много и разных фирм: Samsung, Kingston, WD. Правда большая часть уже в ящике без дела лежит, хоть и рабочие ещё.
     
  • 3.124, Аноним (114), 15:22, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И получаешь увеличение скорости операций на 2%, которую на глаз даже заметить не можешь)

    Из капель собираются реки. Вот так 2% тут, 6% там, goto 1, ... и так вот раз, смотришь, вот тут мелкая, аккуратная, супершустрая система. А вон там - спагетти монстр где вся операционка работает как приложуха на электроне. Т.е. тормозит всем и везде.

     
     
  • 4.132, Аноним (52), 16:31, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если заняться нечем, то можно заняться оптимизацией ради оптимизации.

    Твой ручеёк даст немного скорости (было десять минут на работу, стало девять минут и тридцать секунд), зато потратил время, а мог бы ...

    Хотя особо упоротые (я тоже такое был лет 15 назад) собирают Gentoo и тратят драгоценное время на оптимизацию на своём локалхосте.

    Единственное, где я допускаю оптимизацию - это сервера, для которых важно все: энергопотребление, скорость и так далее.

    Для локалхоста это излишнее, разницу на глаз не увидишь, а если увидешь, то спокойно поменяешь железо, которое уже не первой свежести (пять лет и более).

     
     
  • 5.148, Аноним (-), 00:31, 18/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А вы часто отыгрываете 6 перфоманса за 5 минут, чтобы быковать тут К тому ж... большой текст свёрнут, показать
     

  • 1.51, Аноним (51), 05:28, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Маяться идеей 5 лет - нормально.
    Поработать 5 минут - ну его нафиг, лень.

    Типичный гений программирования, уже наверное десятки таких видел, считают, раз умный, работать ниже достоинства.

     
     
  • 2.55, Гений (??), 06:20, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Всегда так делаю
     
  • 2.87, Аноним (87), 10:29, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просто никто идею не купил и вот выложил как и корпы выкидывают в помойку для всех разное ненужно.
     

  • 1.54, Аноним (54), 05:49, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тут ускорили, там ускорили... Флешмоб?
     
     
  • 2.62, Аноним (-), 07:10, 17/01/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.67, Аноним (67), 07:51, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    что только не сделаешь, лишь бы не копать картошку
     
  • 2.94, Аноним (94), 11:13, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то новостей про Python давно не было...
     

  • 1.64, Аноним (64), 07:23, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    если увеличить очередь- iops ещё вырастет
     
  • 1.66, Аноним (66), 07:47, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    5 лет исследований, 5 минут кодинга,а про время потраченное на отладку ни слова.
     
     
  • 2.81, Аноним (84), 10:19, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он ничего не исследовал 5 лет, лол.
     

  • 1.77, Аноним (77), 09:18, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Часто мне вообще нет дела до timestamp в файлах. Если бы кто-то сделал макрос в ядре, который и вовсе заменяет все временные метки какой-либо инкрментирующейся на 1 при каждом доступе переменной - в значительном числе изделий я этого бы даже не заметил.
     
     
  • 2.127, Аноним (117), 15:35, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так на тебя всем накласть, это важно для приложений. И здесь речь о другом
     

  • 1.79, Аноним (84), 10:18, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может вообще время не записывать нафиг его. Будет никому неведомо в никаком году.
     
  • 1.80, Аноним (80), 10:19, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    а если добавить в процеессор регистр времени?

    дополнительный пин такта времени на корпусе процессора по которому регистр будет увеличиваться. начальное значение выставлять на старте из биос

    ну тоесть в процессор добавить часы

    часы в биос тоже оставить чтобы не делать обратную синхронизацию в биос из процессора

    а чтобы не было расхождения часы в биос и часы в процессоре на одной шине такта времени.

    добавить ассемблерную комманду чтения регистра времени. тогда можно будет сделать автоматическую замену всего кода обращения к текущему времени на эту комманду

    наверное так можно сделать. чисто технически вроде не сложно.

     
     
  • 2.123, Аноним (114), 15:18, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У этого анонима определенно воруют идеи При том некоторые, кажется, используют ... большой текст свёрнут, показать
     

  • 1.91, Аноним (91), 10:50, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >не сделал это еще 5 лет назад, когда идея впервые пришла ему в голову
    >реализация идеи заняла всего 5 минут

    и вот так на самом деле везде и всё!

     
  • 1.97, Пряник (?), 11:24, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересная идея. Но лучше ввести новый тип времени, как было с relaytime. Некоторым программам может быть нужна наноточность. Зачем ограничивать?
     
  • 1.131, Аноним (131), 16:23, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая новость. Ничего не сломали.
     
     
  • 2.139, Вы забыли заполнить поле Name (?), 19:08, 17/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ничего не сломали

    Они просто об этом не знают. А баги и уязвимости будут у тебя (да, у тебя) аноним.

     

  • 1.138, Вы забыли заполнить поле Name (?), 19:07, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > потратив всего 5 минут на кодинг

    Херакс-херакс и в прод? Тесты для слабаков.

    > создатель io_uring

    А ну тогда понятно. Сколько там дней без уязвимостей?

     
  • 1.145, Дед банан (?), 23:17, 17/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    6% относительно чего ?
     
  • 1.146, Аноним (146), 00:06, 18/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Закешировали время на час?
     
  • 1.178, Quad Romb (ok), 17:03, 09/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Кэширование запросов времени"...
    Лихой парень!
    Такой запросто закэширует первого пользователя для аутентификации всех остальных в какой-нибудь очереди.
    Но, за что ему спасибо - сам честно признался в том, что творит.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру