LINUX.ORG.RU

Избранные сообщения ox55ff

NVMe samsung PM1735 low read/write Centos 7

Форум — Linux-hardware

Доброго времени суток! Уважаемые, есть крайне непонятная для меня проблема. Имеется система на supermicro h12dst-b, камень AMD Epyc 7232p, два диска HHHL samsung MZPLJ3T2HBJR-00007. Так вот эти диски не хотят нормально работать. По ТТХ у них скорость чтения 8000мб/с, а hdparm выдаёт вот такое:

hdparm -tT /dev/nvme0n1p1

/dev/nvme0n1p1:
 Timing cached reads:   20398 MB in  2.00 seconds = 10213.54 MB/sec
 Timing buffered disk reads: 6604 MB in  3.00 seconds = 2200.99 MB/sec

hdparm -tT --direct /dev/nvme0n1p1

/dev/nvme0n1p1:
 Timing O_DIRECT cached reads:   6470 MB in  2.00 seconds = 3236.47 MB/sec
 Timing O_DIRECT disk reads: 6528 MB in  3.00 seconds = 2175.69 MB/sec

Как бы в маздае 2019 скорость соответствует заявленной (7400мб/с), в Centos 7.9 (3.10.0-1160.el7.x86_64) - ни в какую.

(parted) print
Model: NVMe Device (nvme)
Disk /dev/nvme0n1: 3201GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3201GB  3201GB  ext4

Пробовал переназначать namespace и ставить blocksize по 4k - стало лучше (это то, что сейчас, было вообще 1400мб/с). В биос переключил уже работу pcie на 8x8 с auto, линии нормально используются - ширина по lspci - width 8, в проц пропускная способность не упирается, asmp отключено тоже в биосе.

Уже просто не знаю куда копать и что делать. Появилась больная идея сделать 4 namespace и объединить в RAID0 (да, я в курсе что дичь какая то, но просто третьи сутки пошли уже). Спасайте, какие есть варианты?

 , , , ,

bx1_host
()

5.18 kernel, частота Ryzen слишком высока

Форум — Talks

Добрый день.

Вчера приехало в Федору ядро 5.18, в котором что-то изменили с энергопотреблением, вроде как должно стало стать лучше.

https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-Power-Management

Добавили какой-то AMD P-State driver. И теперь у меня частота ядер процессора не опускается ниже 3GGz без всякой нагрузки. На половине ядер даже около 4. А раньше без нагрузки на всех ядрах было 1.8-2.

По-моему опыту, раньше при такой частоте процессор довольно сильно грелся, а сейчас он вроде как даже холодный как и раньше, несмотря на частоту, температура 34-37 градусов.

В чем тут дело? Новый драйвер или sensors неправильно частоту показывает?

Процессор Ryzen 5 4650G.

https://imgur.com/a/WQyjHY0

 cpu freq,

Im_not_a_robot
()

crypto meltdown

Форум — Talks

Кто-нибудь знает что сегодня происходит с криптовалютами? Bitcoin и Ethereum упали на 16% и продолжают падать. Чем вызвано то? https://www.coindesk.com/price/bitcoin/ https://www.coindesk.com/price/ethereum/

 , ,

adn
()

Из структуры sock в структуру llc_sock

Форум — Development

Ковыряю ядро Linux. Очередные непонятки. Вот есть в ядре такой файл: /include/net/llc_conn.h , в нём есть функция static inline struct llc_sock *llc_sk(const struct sock *sk). Исходник. Сам текст функции:

static inline struct llc_sock *llc_sk(const struct sock *sk)
{
	return (struct llc_sock *)sk;
}

Насколько я понимаю, тут указатель на некую структуру sock будет переделываться на указатель на структуру llc_sock. Причём начало структуры llc_sock выглядит так:

struct llc_sock {
	/* struct sock must be the first member of llc_sock */
	struct sock	    sk;
	struct sockaddr_llc addr;		/* address sock is bound to */
...
	u32		    copied_seq;		/* head of yet unread data */
...

То есть, внутри структуры llc_sock есть структура sock. Меня интересует следующий вопрос: какое значение будет в copied_seq после подобного приведения? Насколько я могу судить, то значение copied_seq может быть любым, а struct sock sk будет являть собой struct sock sk из аргумента функции. Правильно ли это?

 ,

czan
()

Как-то попадался инструмент для отображения посещаемости ЛОР

Форум — Linux-org-ru

Один регистрант давал ссылку на счетчик комментов на ЛОР по годам. Как бы снова туда заглянуть?

Просто хочу убедится что ЛОР не смотря на все топовый форум ИТшников.

 

TolkoSprosit
()

Расскажите про крипту на сегодняшний день

Форум — Talks

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

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

То есть, речь о «стабильной» крипте.

  • Какой кошелек/биржу посоветуете для «ежедневного использования». С учетом потенциальных банов. И какие варианты бакапов если угнали телефон и т.п.
  • Какая крипта лучше для ежедневного использования и длительного хранения.
  • Что в европах по законодательству насчет приземления крипты? Купить-то не проблема, но не хотелось бы на выводе претензий про легальность.

 

Vit
()

Правильно примонтировать NAS

Форум — General

Добрый день!
Данная тема - продолжение темы https://www.linux.org.ru/forum/general/16858605
Как было выяснено, я столкнулся с очень старой проблемой, которой уже более 10 лет: https://askubuntu.com/questions/226033/how-can-i-preserve-file-modification-times-when-copying-to-a-nas

В сухом остатке имеем следующее. Есть сетевой NAS. При его монтировании вот так:

sudo mount -t cifs //192.168.1.30/Disk1share /mnt/Data/NAS -o user=НомерТелефона,password=1234
все операции чтения и записи нужно производить, что логично, только от root, других проблем нет

При его монтировании вот так:
sudo mount -t cifs //192.168.1.30/Disk1share /mnt/Data/NAS -o user=НомерТелефона,password=1234,uid=1000
root уже не нужен, но при копировании любой папки на NAS все файлы внутри неё меняют дату последней модификации на текущую дату ПК, что и нужно исправить. Вот только как?

Спасибо за советы и идеи заранее

 , ,

aaaSashaMGGU
()

Заставить pipewire не отпускать аудиоустройство

Форум — Desktop

У меня на рабочем компе вместо аудиокарты говновстройка Intel HDA, которая шумит в колонки когда на ней ничего не воспроизводится. Тишины позволяет добиться фоновое воспроизведение содержимого /dev/zero, но это костыль и неудобно. Можно ли как-то заставить pipewire подстоянно удерживать аудиоустройство?

 , , ,

Axon
()

Предварительный выпуск Extraterm 0.60.0

Новости — Open Source
Предварительный выпуск Extraterm 0.60.0
Группа Open Source

Выпущен предварительный релиз продвинутого эмулятора терминала Extraterm версии 0.60.0. Авторы Extraterm определяют его как «швейцарский нож», набор инструментов для задач эмуляции терминалов.

Это первая версия проекта после перехода приложения с Electron на Qt (qt.io) и NodeGui. Проведена большая работа по переписыванию кода, но еще не все функции прошлых версий доступны. Автор надеется, что теперь релизы будут чаще, а также призывает присоединиться к тестированию и дать обратную связь.

Уже доступны такие функции приложения, как:

  • эмуляция терминала, а также рендеринг, лигатуры, гиперссылки и стили;
  • вкладки;
  • фреймы (работают, но многие связанные с ними действия — нет);
  • палитра команд;
  • контекстные меню;
  • общие настройки (присутствуют, но некоторые из них пока ничего не делают);
  • настройки внешнего вида (в основном завершены, однако пользовательские заголовки окон работают только в Linux);
  • настройка типов сеансов;
  • настройка фреймов;
  • настройка расширений;
  • несколько окон.

Половина расширений работает.

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

У программы есть сборки для Linux, macOS и Windows.

>>> Подробности

 , , ,

mydibyje
()

Заменить SFINAE или концепты на if constexpr, почему нет?

Форум — Development

Привет. Не могу понять, почему не получается заменить это:

#include <tuple>
#include <type_traits>
using namespace std;

template <typename Tuple, size_t i=0>
requires (i >= tuple_size_v<Tuple>)
consteval bool check_visitor() {
	return true;
}

template < typename Tuple, size_t i=0>
requires (i < tuple_size_v<Tuple>)
consteval bool check_visitor() {
	static_assert(! is_same_v<tuple_element_t<i, Tuple>, bool>);
	return check_visitor<Tuple, i+1>();
}

int main() {
	using T = tuple<int, double, char>;
	check_visitor<T>();
}

на это:

#include <tuple>
#include <type_traits>
using namespace std;

template < typename Tuple, size_t i=0>
consteval bool check_visitor() {
	static_assert(! is_same_v<tuple_element_t<i, Tuple>, bool>);
	if constexpr (i < tuple_size_v<Tuple>)
		return check_visitor<Tuple, i+1>();
	else
		return true;
}

int main() {
	using T = tuple<int, double, char>;
	check_visitor<T>();
}

Выражение в if constexpr зависит от параметров шаблона, как говорит справочник - в таком случае неактивная ветка должна полностью исчезнуть при инстанцировании, хоть ODR используй там необъявленное.

 

kvpfs
()

Вышла новая версия C++-драйвера для PostgreSQL

Новости — Open Source
Группа Open Source

Pgfe (PostGres FrontEnd) - продвинутый и многофункциональный драйвер для PostgreSQL, написанный на C++. Разработка нацелена на простоту использования и надёжность, учитывая производительность.

Pgfe можно скачать на странице Github.

Достоинства

  • быстрый и надёжный;
  • может использоваться как header-only библиотека, так и как статическая или разделяемая библиотека;
  • работает с подключениями к базе данных как в блокирующем, так и в неблокирующем режимах ввода-вывода;
  • поддерживает prepared statements как с позиционными, так и с именованными параметрами;
  • обеспечивает первоклассную поддержку для вызова функций и процедур;
  • поддерживает продвинутые функции PostgreSQL, такие как конвейер, COPY и большие объекты;
  • поддерживает обработку ошибок с помощью исключений и условий ошибок: предоставляет запись enum для каждого предопределенного SQLSTATE;
  • обеспечивает продвинутую поддержку преобразования данных: даже многомерные массивы PostgreSQL в/из любых комбинаций контейнеров STL могут быть выполнены с лёгкостью;
  • обеспечивает поддержку динамического построения SQL-запросов;
  • позволяет разделить SQL-запросы и код C++ на стороне клиента;
  • обеспечивает простой, надежный и потоко-безопасный пул соединений;
  • многие другие функции для удобства и безопасности.

Требования

  • компилятор C++17 (протестировано на GCC и MSVC);
  • libpq;
  • CMake 3.16+ (необязательно, только если требуется сборка).

>>> Оригинал

 ,

anonymous
()

imageshack отжигает

Форум — Talks

Как известно, на бесплатных хостингах картинки временами протухают, и превращаются в тыкву.

Но безбожный imageshack решил вместо 404 пораздавать мотиваторов. Очевидно, что на деньги натовских гомопендосов и жидорептилоидных иллюминантов.

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

PS. Так вот почему на лоре нет картинок… как дальновидно оказалось :).

 imageshack,

Vit
()

Что будет с IT в России?

Форум — Talks

Учитывая нынешнюю ситуацию думаю для многих, особенно для меня, интересен вопрос. Что сейчас происходит и что будет в скором времени с рынком IT? Что будет с количеством и качеством вакансий и резюме как в РФ, так и в для русских специалистов, ищущих работу за бугром? Что ждёт «вайтишников», ищущих жирное место без особых усилий? РФ планируют поддержать IT компании пакетами плюшек. Офисы забугорных компаний в России переносятся в другие страны с релокейтом самих сотрудников. Новые разрабатываемые проекты начинают замораживать, а целью компаний является поддержка текущих приносящих доход проектов. Блокировка многих забугорных сервисов, соц сетей и прочего. Поделитесь своим опытом, текущей ситуацией в своих компаниях, своим мнением.

 , ,

SamMorgan
()

Кнопка «сделать зашибись»

Форум — Linux-org-ru

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

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

Поскольку 90% конфликтов пользователей и администрации происходят отнюдь не из-за компиляции ядра, считаю важным эту тему обсудить.

 ,

K16
()

исключения приложений для cpufreq?

Форум — Admin

хочу чтобы только определенные приложения могли поднимать частоту или не поднимать
как это сделать?

 ,

nanosecond
()

re2c 3.0

Новости — Разработка
Группа Разработка

В четверг 27 января состоялся релиз генератора лексических анализаторов re2c 3.0. Основное изменение — добавлена кодогенерация в Rust.

Напомним, что re2c специализируется на генерации быстрых и легко встраиваемых лексеров. Он отличается от более известного аналога flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (TDFA). re2c используется в проектах, где важна скорость работы лексера, например в Ninja и в PHP.

На сайте есть много примеров, теперь и на языке Rust.

>>> Подробности

 , , , ,

skvadrik
()

Использование системной темы в flatpak gtk приложениях (в KDE)

Форум — Desktop

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

Проблема: В KDE у gtk-flatpak приложений используется дефолтная белая тема Adwaita

Решение:

flatpak --user override --filesystem=xdg-config/gtk-3.0:ro

Это даст всем flatpak-приложениям текущего пользователя рид-онли доступ к настройкам gtk3.

Для отдельного приложения:

flatpak override --filesystem=xdg-config/gtk-3.0:ro {appname}

Еще совет из сети - дать доступ к ~/.themes:

flatpak --user override --filesystem=~/.themes:ro

Это позволит не плодить копии тем в flatpak

P.S. Сейчас гуглится как правило совет с ~/.themes и иногда можно найти рекомендации копировать папку gtk-3.0 во все flatpak приложения

 , , , ,

SR_team
()

А wayland приложение уже можно нативно запустить из docker контейнера как-то?

Форум — Talks

С X11 - всё понятно, прокинул сокет, прокинул куки аутентификации и радуйся. А с вяленым как?

 ,

pon4ik
()

Бесконечные падения эффектов kde и сброс графики

Форум — General

У меня опенсуся тумба, интел i5. После очередного обновления стали жутко падать эффекты кед. То есть в один совершенно случайный момент система начинает бесконечно сыпать уведомления о перезапущенных эффектох в связи со сбросом графики. Всё начинает тормозить и единственный выход это завершить сеанс или перезагрузиться. После этого эффекты в системе будут отключены https://imgur.com/a/cTSxrMW Но это решает проблему лишь частично. В такие же случайные моменты графика замирает, иногда окно firefox становится чёрным, через несколько секунд всё отмирает. В особо пиковые моменты система принудительно разлогинивает меня и просит залогиниться. Плюс тирринг задолбал. Переустановка системы не помогла. Думал может причина в настройках пользователя, создал нового и у него тоже падают эффекты. Я не знаю что делать. Я в тупике.

 , , , ,

KOT040188
()

Выяснить в runtime по backtrace, из какого исходного файла была вызвана функция

Форум — Development

Есть один бинарник, который использует несколько библиотек и подозревается в чрезмерной растрате памяти (не утечке — динамика роста RSS не такая взрывная). Хочется выяснить, какая библиотека за это ответственна. Для этого можно взять jemalloc, добавить вручную арен и средствами jemalloc уже вести учет выделенной памяти. Но появляется важный нюанс: как выяснить, кто позвал *alloc?

Для динамической линковки есть довольно надежный способ: сначала через backtrace, а в релизной версии грязными ассемблерными хаками получаем адрес возврата, через `/proc/$pid/map` понимаем, к какой so-шке относится этот адрес и дальше ведем себя соответственно.

Как быть при статической линковке? Есть ли способ отредактировать объектный файл, переопределив имя внешнего символа? Я знаю трюк с частичной линковкой (ld -r), когда можно подставить заглушку, которая будет вызывать нужный метод (так, например, можно все аллокации из libfoo.a заставить использовать malloc_foo/free_foo ценой одного косвенного перехода), но вдруг есть способ лучше?

На всякий случай уточню: исходники трогать нельзя, потому что: 1) так может каждый; 2) хочется странного

 ,

kawaii_neko
()