commit -m "better"
3.24K subscribers
1.03K photos
149 videos
3 files
2.39K links
just random thoughts
Download Telegram
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 иногда выигрывает на копеечку, но регулярно сливает в разы, на определенных нагрузках.
👍14
😁52🤣112🔥1🙈1
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(), а асинхронно - это какой-то леденящий душу пиздец!
👍12🔥5🤔4🆒2🤯1
Forwarded from Блог*
😁47🔥6🐳6💅4🗿3🦄3👍1
Forwarded from Above all that is random
😁32
commit -m "better"
Ну и, конечно, очень приятно, что это не kernel panic, а вполне себе падение user space приложухи, которую можно перезапустить.
#sched_ext

История из серии "очумелые ручки".

В какой-то момент экспериментов с 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 оно только ухудшает, артефакты заметны невооруженным взглядом.

Мне интересно, в каких условиях вообще возможно воспроизвести предполагаемый результат?
5👍3🔥3🤔1🥱1🆒1
Исследование производительности разных дистрибутивов Linux.

https://www.phoronix.com/review/intel-arrowlake-cachyos/5

Разница между самым быстрым, и самым медленным Linux - порядка 5%, разница между двумя лидерами CachyOS (основан на Arch), и Arch - порядка процента.

По мне так "овчинка выделки не стоит".
👍12🔥3🆒2
😁24🤔12🔥42
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, от расто-любов/хейтеров:

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

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

"А вот будь оно на Си..."
🤡18😁8👍6👎3🐳2
commit -m "better"
Photo
Оказалось, у этой задачи есть вполне понятное решение (https://xn--r1a.website/itpgchannel/2543?comment=41578)!

"промоутим джуна в техлида, сами уебываем в стартап в ОАЭ, в американский визу не дают" (новый техлид тащит блокер, релиз, и себя)
😁26👍64🤡1
🥰28😁18🔥9🤡3🐳31
Forwarded from The Экономист
Правительство Пензенской области покупает VPN за 15 млн рублей. По условиям госзакупки, исполнитель должен обеспечить доступ к сети без ограничения трафика. Скорость доступа должна варьироваться от 2 до 100 Мбит/с.

🤑 The Экономист
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣40🐳73👍1🤡1
Forwarded from Пездуза
⚡️В России родился первый ребенок со встроенным VPN
😁41👍5🔥4🤔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, который целиком грузится в память (потом, наверное, очищается, но так можно сделать и в случае включения модулей в ядро).
👍94🐳3🤡2🔥1
https://www.opennet.ru/opennews/art.shtml?num=62465

Рубрика "новости из дурки".

Еще один альтернативный броузер, some highlights:

* Написан на С, и на FixScript (язык от того же автора).

* GUI toolkit - GTK2 (GTK2, Карл!!!)

* Вместо javascript - набор регулярок, которые фиксят сайты так, что они могут как-то отрисовываться без JS. 1200 сайтов уже поддержано!
🤩34😁18💊74🐳4👍3🔥3
Forwarded from Дидлошная (Alex Beaver)
😁47👍8🔥6👎3🤡1
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
🤡14😁9👍6🐳3👎1
commit -m "better"
К счастью, оказалось, что можно, довольно несложно, переключить bindgen на режим статлинковки с libclang -
Как обычно, первое решение оказалось не самым подходящим, но, по результату его применения, получилось еще более простое и изящное решение:

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.

Работает, как часы!
🔥14💩5🤡3❤‍🔥2🆒1