https://www.phoronix.com/news/Linux-6.12-Liquorix-Performance
Заметка от Миши с фороникса, про то, что не надо использовать васянские сборки ядра Linux, потому что получается плохо.
"On a geo mean basis across all of the benchmarks, the upstream kernel ended up being faster by 21%"
https://openbenchmarking.org/result/2412205-PTS-LIQUORIX70&sgm=1&swl=1 - вот тут вот особенно хорошо видно, что Liquorix иногда выигрывает на копеечку, но регулярно сливает в разы, на определенных нагрузках.
Заметка от Миши с фороникса, про то, что не надо использовать васянские сборки ядра Linux, потому что получается плохо.
"On a geo mean basis across all of the benchmarks, the upstream kernel ended up being faster by 21%"
https://openbenchmarking.org/result/2412205-PTS-LIQUORIX70&sgm=1&swl=1 - вот тут вот особенно хорошо видно, что Liquorix иногда выигрывает на копеечку, но регулярно сливает в разы, на определенных нагрузках.
Phoronix
Liquorix vs. Linux 6.12 Upstream Kernel Performance Across Many Workloads
A Phoronix Premium subscriber a while back requested some fresh benchmarks of how the Liquorix downstream of the Linux kernel is comparing against the latest upstream kernel..
👍14
https://lwn.net/SubscriberLink/1002371/0ff2be6a2c7624ca/
"Process creation in io_uring"
Пишут про добавление clone() в #io_uring.
Я, даже не читая текст, закатил глаза, и подумал "#ebpf", потому что это очень разумно - загрузить через io_uring программу, которая сделает необходимый setup, и позовет clone()
(вообще, напомню в данном контексте свой текст от 21 года - https://xn--r1a.website/itpgchannel/56)
И, пожалуйста, первый же комментарий про это - https://lwn.net/Articles/1003051/
Но, в целом, этот текст (и дикуссия по ссылкам) не дает ответа на самый главный вопрос - а какая семантика у асинхронного clone()?
Тут же основная проблема - а что происходит, если clone() реально происходит хз когда, когда программа имеет неизвестное состояние блокировок/открытых fd/memory maps и так далее?
Синхронно-то сложно обеспечить нормальное окружение для clone(), а асинхронно - это какой-то леденящий душу пиздец!
"Process creation in io_uring"
Пишут про добавление clone() в #io_uring.
Я, даже не читая текст, закатил глаза, и подумал "#ebpf", потому что это очень разумно - загрузить через io_uring программу, которая сделает необходимый setup, и позовет clone()
(вообще, напомню в данном контексте свой текст от 21 года - https://xn--r1a.website/itpgchannel/56)
И, пожалуйста, первый же комментарий про это - https://lwn.net/Articles/1003051/
Но, в целом, этот текст (и дикуссия по ссылкам) не дает ответа на самый главный вопрос - а какая семантика у асинхронного clone()?
Тут же основная проблема - а что происходит, если clone() реально происходит хз когда, когда программа имеет неизвестное состояние блокировок/открытых fd/memory maps и так далее?
Синхронно-то сложно обеспечить нормальное окружение для clone(), а асинхронно - это какой-то леденящий душу пиздец!
👍12🔥5🤔4🆒2🤯1
commit -m "better"
Ну и, конечно, очень приятно, что это не kernel panic, а вполне себе падение user space приложухи, которую можно перезапустить.
#sched_ext
История из серии "очумелые ручки".
В какой-то момент экспериментов с scx, я решил, что надо запускать userspace часть с каким-нибудь RT приоритетом, потому что решения про шедулинг - это важно, и нужно уметь получать их за предсказуемое время, да же?
Вот, сделал запуск через
И получил моментальный freeze всей системы, такие дела.
Так же попробовал bpfland, вместо rustland - по словам авторов, это то же самое, что и rustland, но полностью в ядре, в виде #ebpf программы https://github.com/sched-ext/scx/blob/main/scheds/rust/scx_bpfland/README.md.
Работает оно довольно стабильно, но, к сожалению, отзывчивость GUI оно только ухудшает, артефакты заметны невооруженным взглядом.
Мне интересно, в каких условиях вообще возможно воспроизвести предполагаемый результат?
История из серии "очумелые ручки".
В какой-то момент экспериментов с scx, я решил, что надо запускать userspace часть с каким-нибудь RT приоритетом, потому что решения про шедулинг - это важно, и нужно уметь получать их за предсказуемое время, да же?
Вот, сделал запуск через
chrt -f 1 - https://github.com/pg83/ix/blob/main/pkgs/bin/scx/rust/land/runit/ix.sh#L5И получил моментальный freeze всей системы, такие дела.
Так же попробовал bpfland, вместо rustland - по словам авторов, это то же самое, что и rustland, но полностью в ядре, в виде #ebpf программы https://github.com/sched-ext/scx/blob/main/scheds/rust/scx_bpfland/README.md.
Работает оно довольно стабильно, но, к сожалению, отзывчивость GUI оно только ухудшает, артефакты заметны невооруженным взглядом.
Мне интересно, в каких условиях вообще возможно воспроизвести предполагаемый результат?
GitHub
ix/pkgs/bin/scx/rust/land/runit/ix.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
❤5👍3🔥3🤔1🥱1🆒1
Исследование производительности разных дистрибутивов Linux.
https://www.phoronix.com/review/intel-arrowlake-cachyos/5
Разница между самым быстрым, и самым медленным Linux - порядка 5%, разница между двумя лидерами CachyOS (основан на Arch), и Arch - порядка процента.
По мне так "овчинка выделки не стоит".
https://www.phoronix.com/review/intel-arrowlake-cachyos/5
Разница между самым быстрым, и самым медленным Linux - порядка 5%, разница между двумя лидерами CachyOS (основан на Arch), и Arch - порядка процента.
По мне так "овчинка выделки не стоит".
Phoronix
Arch Linux Based CachyOS Takes The Lead On Intel Arrow Lake
In the end CachyOS was in first place 41% of the time..
👍12🔥3🆒2
https://www.opennet.ru/opennews/art.shtml?num=62469
#selfhost
"Опубликован корректирующий релиз платформы совместной разработки Gogs 0.13.2, в котором устранено 6 уязвимостей. 5 уязвимостям присвоен критический уровень опасности (10 из 10). Исправленные проблемы позволяют непривилегированному пользователю Gogs выполнить код на сервере, изменить данные в репозиториях других пользователей или получить SSH-доступ к серверу"
Проект (git хостинг) написан на memory safe языке (нет, не на том, на другом), поэтому ошибки про обработку "../" в путях.
Мораль?
* Не надо поддерживать свою васянскую инфру (#gitlab #infra), а надо брать, и использовать github.
* По мере переписывания с С/C++ на memory safe языки, #CVE меньше не будет, потому что безопасники тоже хотят кушать, просто искать их будут в других местах, возможно, поиск станет чуть дороже.
Пара перлов с opennet, от расто-любов/хейтеров:
"Не понимаю почему такие критически важные для инфраструктуры программы еще не переписали на расте. Неуженли люди осознанно отказываются писать программы без ошибок и приближать цифровой коммунизм?"
"Потому что Раст рекламируют нейросети для компаний, которым нужны новые хомячки-погроммисты за миску риса. Сишник ещё имеет некоторую свободу выбора"
"А вот будь оно на Си..."
#selfhost
"Опубликован корректирующий релиз платформы совместной разработки Gogs 0.13.2, в котором устранено 6 уязвимостей. 5 уязвимостям присвоен критический уровень опасности (10 из 10). Исправленные проблемы позволяют непривилегированному пользователю Gogs выполнить код на сервере, изменить данные в репозиториях других пользователей или получить SSH-доступ к серверу"
Проект (git хостинг) написан на memory safe языке (нет, не на том, на другом), поэтому ошибки про обработку "../" в путях.
Мораль?
* Не надо поддерживать свою васянскую инфру (#gitlab #infra), а надо брать, и использовать github.
* По мере переписывания с С/C++ на memory safe языки, #CVE меньше не будет, потому что безопасники тоже хотят кушать, просто искать их будут в других местах, возможно, поиск станет чуть дороже.
Пара перлов с opennet, от расто-любов/хейтеров:
"Не понимаю почему такие критически важные для инфраструктуры программы еще не переписали на расте. Неуженли люди осознанно отказываются писать программы без ошибок и приближать цифровой коммунизм?"
"Потому что Раст рекламируют нейросети для компаний, которым нужны новые хомячки-погроммисты за миску риса. Сишник ещё имеет некоторую свободу выбора"
"А вот будь оно на Си..."
www.opennet.ru
Пять уязвимостей в платформе совместной разработки Gogs, позволяющих выполнить код на сервере
Опубликован корректирующий релиз платформы совместной разработки Gogs 0.13.2, в котором устранено 6 уязвимостей. 5 уязвимостям присвоен критический уровень опасности (10 из 10). Исправленные проблемы позволяют непривилегированному пользователю Gogs выполнить…
🤡18😁8👍6👎3🐳2
commit -m "better"
Photo
Оказалось, у этой задачи есть вполне понятное решение (https://xn--r1a.website/itpgchannel/2543?comment=41578)!
"промоутим джуна в техлида, сами уебываем в стартап в ОАЭ, в американский визу не дают" (новый техлид тащит блокер, релиз, и себя)
"промоутим джуна в техлида, сами уебываем в стартап в ОАЭ, в американский визу не дают" (новый техлид тащит блокер, релиз, и себя)
Telegram
Andrey Gulin in commit -m "better chat"
3. Если оставить блокер с релизом то лодку утопит заказчик
Решение на картинке выше: промоутим джуна в техлида, сами уебываем в стартап в ОАЭ, в американский визу не дают
Решение на картинке выше: промоутим джуна в техлида, сами уебываем в стартап в ОАЭ, в американский визу не дают
😁26👍6❤4🤡1
Forwarded from The Экономист
Правительство Пензенской области покупает VPN за 15 млн рублей. По условиям госзакупки, исполнитель должен обеспечить доступ к сети без ограничения трафика. Скорость доступа должна варьироваться от 2 до 100 Мбит/с.
🤑 The Экономист
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣40🐳7❤3👍1🤡1
https://www.phoronix.com/news/Hash-Based-Integrity-Linux-RB
"Introduce a new mechanism to ensure only well-known modules are loaded by embedding a list of hashes of all modules built as part of the full kernel build into vmlinux"
Сначала героически создали себе проблему (модули), потом героически ее же и решаем.
Надо не хеши включать в ядро, а сами модули.
Я понимаю, какую задачу решали модули 30 лет назад (экономия памяти), а сейчас что? Сейчас все модули и так лежат в initrd, который целиком грузится в память (потом, наверное, очищается, но так можно сделать и в случае включения модулей в ядро).
"Introduce a new mechanism to ensure only well-known modules are loaded by embedding a list of hashes of all modules built as part of the full kernel build into vmlinux"
Сначала героически создали себе проблему (модули), потом героически ее же и решаем.
Надо не хеши включать в ядро, а сами модули.
Я понимаю, какую задачу решали модули 30 лет назад (экономия памяти), а сейчас что? Сейчас все модули и так лежат в initrd, который целиком грузится в память (потом, наверное, очищается, но так можно сделать и в случае включения модулей в ядро).
Phoronix
Hash-Based Integrity Checking Proposed For Linux To Help With Reproducible Builds
An interesting request for comments (RFC) patch series was posted on Christmas for introducing hash-based integrity checking to help with the reproducible builds initiative around the Linux kernel.
👍9❤4🐳3🤡2🔥1
https://www.opennet.ru/opennews/art.shtml?num=62465
Рубрика "новости из дурки".
Еще один альтернативный броузер, some highlights:
* Написан на С, и на FixScript (язык от того же автора).
* GUI toolkit - GTK2 (GTK2, Карл!!!)
* Вместо javascript - набор регулярок, которые фиксят сайты так, что они могут как-то отрисовываться без JS. 1200 сайтов уже поддержано!
Рубрика "новости из дурки".
Еще один альтернативный броузер, some highlights:
* Написан на С, и на FixScript (язык от того же автора).
* GUI toolkit - GTK2 (GTK2, Карл!!!)
* Вместо javascript - набор регулярок, которые фиксят сайты так, что они могут как-то отрисовываться без JS. 1200 сайтов уже поддержано!
www.opennet.ru
Первый тестовый выпуск web-браузера FixBrowser
Опубликован первый тестовый выпуск web-браузера FixBrowser, рассчитанного на низкое потребление ресурсов и обеспечение конфиденциальности. Браузер развивается с нуля и принципиально не поддерживает выполнение JavaScript, но при этом позволяет работать с сайтами…
🤩34😁18💊7❤4🐳4👍3🔥3
commit -m "better"
Тут вот коллега хочет запилить еще один "самый лучший" эмулятор терминала.
https://www.opennet.ru/opennews/art.shtml?num=62471
У #ghostty случился релиз.
Доставляет способ тестировать производительность терминала (нет, реально, все как у великих - https://xn--r1a.website/itpgchannel/306):
"В проведённых тестах Ghostty оказался быстрее эмуляторов терминала iTerm и Kitty в 4 раза, а Terminal.app - в 2 раза, при выводе на экран содержимого большого файла, например, при помощи команды "cat big_file.txt". При сравнении с Alacritty производительность Ghostty была примерно на том же уровне, но Alacritty отстаёт по функциональности от Ghostty"
В общем, пока эталонное "не нужно".
#terminal
У #ghostty случился релиз.
Доставляет способ тестировать производительность терминала (нет, реально, все как у великих - https://xn--r1a.website/itpgchannel/306):
"В проведённых тестах Ghostty оказался быстрее эмуляторов терминала iTerm и Kitty в 4 раза, а Terminal.app - в 2 раза, при выводе на экран содержимого большого файла, например, при помощи команды "cat big_file.txt". При сравнении с Alacritty производительность Ghostty была примерно на том же уровне, но Alacritty отстаёт по функциональности от Ghostty"
В общем, пока эталонное "не нужно".
#terminal
www.opennet.ru
Первый выпуск эмулятора терминала Ghostty
Опубликован выпуск эмулятора терминала Ghostty 1.0.0, использующего GPU для ускорения отрисовки содержимого. Проект развивает Митчелл Хашимото (Mitchell Hashimoto), сооснователь компании HashiCorp и создатель таких проектов, как Vagrant и Terraform. Автор…
🤡14😁9👍6🐳3👎1
Forwarded from Смехуёчки-пиздохаханьки
This media is not supported in your browser
VIEW IN TELEGRAM
😁18😨10🔥4👍2💊1
commit -m "better"
К счастью, оказалось, что можно, довольно несложно, переключить bindgen на режим статлинковки с libclang -
Как обычно, первое решение оказалось не самым подходящим, но, по результату его применения, получилось еще более простое и изящное решение:
https://github.com/pg83/ix/blob/main/pkgs/bld/rust/helpers/patch/bindgen/patch.sh#L11-L14
Вот так вот, грубо, к херам, изничтожить всю логику поиска libclang, полагаясь на то, что мой враппер и так установит нужные пути поиска библиотек от LLVM.
Работает, как часы!
https://github.com/pg83/ix/blob/main/pkgs/bld/rust/helpers/patch/bindgen/patch.sh#L11-L14
cat << EOF > .../clang-sys/build/static.rs
pub fn link() {
}
EOF
Вот так вот, грубо, к херам, изничтожить всю логику поиска libclang, полагаясь на то, что мой враппер и так установит нужные пути поиска библиотек от LLVM.
Работает, как часы!
GitHub
ix/pkgs/bld/rust/helpers/patch/bindgen/patch.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
🔥14💩5🤡3❤🔥2🆒1