У меня сегодня большой день - я перенес загрузчик на свою партицию, и загрузился с него. Старые FS и линуксы можно стирать, окончательно перерезав пуповину с материнской системой.
Это оказалось сложнее, чем я думал, потому что разработчик efibootmgr сошел с ума.
https://github.com/rhboot/efivar
Там сделано вообще все возможное, чтобы код не собирался ничем, кроме gnu toolchain, хотя никакого особого смысла в этом нет(спойлер - все собралось и заработало с clang), и чтобы не работала статическая сборка.
https://github.com/rhboot/efivar/blob/main/src/include/workarounds.mk
Вот тут автор якобы поддерживает lld, но проваливаемся мы в not supported case.
Автор явно вызывает gcc-ar, вместо ar. Что, зачем...
Автор в системе сборки написал кодогенерацию ld script, котрый хитроумно переименовывает символы в итоговых библиотеках и бинарях, чтобы окончательно запутаться.
Автор очень широко использует расширения gnu libc(я это называю горе от ума), мне ажно пришлось реализовать функцию qsort_r самому - https://github.com/pg83/mix/blob/main/pkgs/lib/qsort/r/mix.sh#L15. Я, конечно, тот еще кулхацкер и ленивая жопа, но сохранять контекст и реальный коллбек в пертредных переменных - это даже для меня мощно.
Систему переименований символов я заменил на систему регулярок поверх исходного кода.
У чувака есть файлик safemath.h вот такого содержания - https://github.com/rhboot/efivar/blob/main/src/safemath.h
Он пишет эту простую утилиту непрерывно с 12 года, и ему явно стало скучно.
Короче, запускать получившийся grub мне было ссыкотно - там или все отработает, или попортит таблицу разделов, и я останусь с кирпичом вместо ноутбука, 50 на 50.
Все обошлось.
Сейчас форматирую освободившийся большой раздел под XFS(а вы знали, что старичок - все еще одна из лучших FS для Linux?), и переношу систему на него. #xfs
Это оказалось сложнее, чем я думал, потому что разработчик efibootmgr сошел с ума.
https://github.com/rhboot/efivar
Там сделано вообще все возможное, чтобы код не собирался ничем, кроме gnu toolchain, хотя никакого особого смысла в этом нет(спойлер - все собралось и заработало с clang), и чтобы не работала статическая сборка.
https://github.com/rhboot/efivar/blob/main/src/include/workarounds.mk
Вот тут автор якобы поддерживает lld, но проваливаемся мы в not supported case.
Автор явно вызывает gcc-ar, вместо ar. Что, зачем...
Автор в системе сборки написал кодогенерацию ld script, котрый хитроумно переименовывает символы в итоговых библиотеках и бинарях, чтобы окончательно запутаться.
Автор очень широко использует расширения gnu libc(я это называю горе от ума), мне ажно пришлось реализовать функцию qsort_r самому - https://github.com/pg83/mix/blob/main/pkgs/lib/qsort/r/mix.sh#L15. Я, конечно, тот еще кулхацкер и ленивая жопа, но сохранять контекст и реальный коллбек в пертредных переменных - это даже для меня мощно.
Систему переименований символов я заменил на систему регулярок поверх исходного кода.
У чувака есть файлик safemath.h вот такого содержания - https://github.com/rhboot/efivar/blob/main/src/safemath.h
Он пишет эту простую утилиту непрерывно с 12 года, и ему явно стало скучно.
Короче, запускать получившийся grub мне было ссыкотно - там или все отработает, или попортит таблицу разделов, и я останусь с кирпичом вместо ноутбука, 50 на 50.
Все обошлось.
Сейчас форматирую освободившийся большой раздел под XFS(а вы знали, что старичок - все еще одна из лучших FS для Linux?), и переношу систему на него. #xfs
GitHub
GitHub - rhboot/efivar: Tools and libraries to work with EFI variables
Tools and libraries to work with EFI variables. Contribute to rhboot/efivar development by creating an account on GitHub.
🔥9👍7🤔1
commit -m "better"
У меня сегодня большой день - я перенес загрузчик на свою партицию, и загрузился с него. Старые FS и линуксы можно стирать, окончательно перерезав пуповину с материнской системой. Это оказалось сложнее, чем я думал, потому что разработчик efibootmgr сошел…
https://www.phoronix.com/news/XFS-Patch-For-Linux-6.3
Вот, стоило написать, что #XFS - одна из лучших FS в Linux, как в ней случился data corruption. Как страшно жить.
Вот, стоило написать, что #XFS - одна из лучших FS в Linux, как в ней случился data corruption. Как страшно жить.
Phoronix
XFS Metadata Corruption On Linux 6.3 Tracked Down To One Missing One-Line Patch
Last week XFS users began encountering metadata corruption on the latest Linux 6.3 point releases
😁11❤3🤔2
commit -m "better"
Новости из мира Linux: https://www.phoronix.com/news/Bcachefs-Merged-Linux-6.7 #bcachefs bcachefs вот так взяли, и смержили в 6.7. Видимо, #Kent нашел правильное место, куда надо лизнуть, потому что иначе такой прогресс сложно объяснить. Вышло ядро 6.6…
https://www.phoronix.com/review/bcachefs-linux-67 #Kent
А вот подоспели бенчмарки #bcachefs от Михаила.
(напомню, что его бенчмаркам веры нет - https://t.iss.one/itpgchannel/1402, но, думаю, для троллинга автора bcachefs они сойдут)
Спойлер - у bcachefs все не очень, как с перфом (последние места на почти всех нагрузках), и с надежностью (не любой ssd можно под нее отформатировать).
Зато этот бенчмарк подтверждает мой старый тезис - "#xfs - лучшая FS в Linux". Вот, реально, не знаешь, что выбрать - выбери #xfs.
А вот подоспели бенчмарки #bcachefs от Михаила.
(напомню, что его бенчмаркам веры нет - https://t.iss.one/itpgchannel/1402, но, думаю, для троллинга автора bcachefs они сойдут)
Спойлер - у bcachefs все не очень, как с перфом (последние места на почти всех нагрузках), и с надежностью (не любой ssd можно под нее отформатировать).
Зато этот бенчмарк подтверждает мой старый тезис - "#xfs - лучшая FS в Linux". Вот, реально, не знаешь, что выбрать - выбери #xfs.
Phoronix
Trying Out & Benchmarking Bcachefs On Linux 6.7
The biggest surprise this week so far with the Linux 6.7 merge window has been the landing of the Bcachefs file-system.
😁7🔥4👍3
commit -m "better"
У меня сегодня большой день - я перенес загрузчик на свою партицию, и загрузился с него. Старые FS и линуксы можно стирать, окончательно перерезав пуповину с материнской системой. Это оказалось сложнее, чем я думал, потому что разработчик efibootmgr сошел…
#xfs #perf
https://blog.allegro.tech/2024/03/kafka-performance-analysis.html
Вот, например, почему xfs - все еще лучшая FS под Linux.
https://blog.allegro.tech/2024/03/kafka-performance-analysis.html
Вот, например, почему xfs - все еще лучшая FS под Linux.
blog.allegro.tech
Unlocking Kafka’s Potential: Tackling Tail Latency with eBPF
At Allegro, we use Kafka as a backbone for asynchronous communication between microservices. With up to 300k messages published and 1M messages consumed every second, it is a key part of our infrastructure. A few months ago, in our main Kafka cluster, we…
👍9🔥4❤3
commit -m "better"
Новости из мира Linux: https://www.phoronix.com/news/Bcachefs-Merged-Linux-6.7 #bcachefs bcachefs вот так взяли, и смержили в 6.7. Видимо, #Kent нашел правильное место, куда надо лизнуть, потому что иначе такой прогресс сложно объяснить. Вышло ядро 6.6…
https://www.phoronix.com/news/Linux-6.9-Bcachefs-Attempt
Классная заруба между Линусом и автором #bcachefs #Kent.
TL;DR - Кент хочет выделить кусок bcachefs в библиотеку, чтобы ей могли воспользоваться разработчики #XFS
Линус тут встает в позицию "пока ты держишь свое говно при себе, оно может быть сделано произвольно всратым образом, но если ты делаешь из этого либу, то она должна быть устроена так-то и так-то". Ну и щедро наваливает комментариев про то, как она должна быть устроена (причем комментариев по существу).
Не знаю.
Мне кажется, чтовзрослые люди за закрытыми дверями могут делать все, что захотят если Кенту ОК, и XFS тоже ОК, то и ладно. Если этим говнокодом захочет воспользоваться третий участник, хехе, то его еще больше причешут.
Хороший и красивый код чаще всего рождается не в процессе дизайна, а в процессе постоянного переписывания и вылизывания под все большее число потребителей.
А Линусу просто не нравится автор bcachefs (и вообще, что это за выскочка?!), вот он и находит причины для rant.
Классная заруба между Линусом и автором #bcachefs #Kent.
TL;DR - Кент хочет выделить кусок bcachefs в библиотеку, чтобы ей могли воспользоваться разработчики #XFS
Линус тут встает в позицию "пока ты держишь свое говно при себе, оно может быть сделано произвольно всратым образом, но если ты делаешь из этого либу, то она должна быть устроена так-то и так-то". Ну и щедро наваливает комментариев про то, как она должна быть устроена (причем комментариев по существу).
Не знаю.
Мне кажется, что
Хороший и красивый код чаще всего рождается не в процессе дизайна, а в процессе постоянного переписывания и вылизывания под все большее число потребителей.
А Линусу просто не нравится автор bcachefs (и вообще, что это за выскочка?!), вот он и находит причины для rant.
Phoronix
Linus Torvalds Isn't Happy With Some Of The Bcachefs Code For Linux 6.9
Since the Bcachefs file-system was upstreamed in the Linux 6.7 kernel it's been humming along fairy well
😁8👍4🤔2❤1👎1