The OpenNET Project / Index page

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

В ядре Linux 7.0 выявили регрессию, в два раза снижающую производительность PostgreSQL

04.04.2026 18:36 (MSK)

Инженер из компании Amazon выявил регрессию, специфичную для ядра Linux 7.0, релиз которого ожидается 13 апреля. Изменение настроек планировщика задач привело к существенному снижению пропускной способности и отзывчивости при работе СУБД PostgreSQL на системах с архитектурой ARM64. При использовании ядра 7.0 показатели производительности при прохождении теста pgbench "simple-update" снизились почти в два раза - с 98565 до 50751.

Замедление вызвано изменением режима вытеснения (preemption) в планировщике по умолчанию с PREEMPT_NONE на PREEMPT_LAZY на архитектурах, поддерживающих такой режим, из-за чего в пользовательском пространстве PostgreSQL стал тратить 55% времени CPU на вызов s_lock(). Для решения проблемы предложено вернуть по умолчанию режим PREEMPT_NONE и убрать его привязку к настройке ARCH_NO_PREEMPT.

Питер Зейлстра (Peter Zijlstra), автор изменений, из-за которых возникла регрессия, и мэйнтейнер планировщика задач и связанных с блокировками подсистем ядра, заявил, что исправление нужно вносить в код PostgreSQL. Для устранения падения производительности он посоветовал задействовать в PostgreSQL недавно добавленное в ядро расширение "rseq slice" (Restartable Sequences) для ограничения вероятности вытеснения держателя блокировки.

Пока не ясно какое решение примет Линус Торвальдс, который придерживается правила, что ядро не должно ухудшать работу и ломать совместимость с пространством пользователя. С одной стороны ядро 7.0 находится на финальной стадии тестирования перед релизом и откат настроек планировщика может привести к другим регрессиям, а с другой стороны пользователи могут столкнуться с двухкратным снижением производительности одной из самых популярных СУБД.

  1. Главная ссылка к новости (https://www.phoronix.com/news/...)
  2. OpenNews: Анализ исправления ошибок в ядре Linux - в среднем ошибки замечают через 2 года
  3. OpenNews: Ошибка в ядре Linux 5.19.12, потенциально способная повредить экраны на ноутбуках с GPU Intel
  4. OpenNews: Кейс Кук из Google призвал модернизировать процесс работы над ошибками в ядре Linux
  5. OpenNews: Ошибка в ядре Linux 5.12-rc1, приводящая к потере данных в ФС
  6. OpenNews: В ядре Linux выявлены ошибки, приводящие к зависанию процессов и повреждению разделов EXT4
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65143-kernel
Ключевые слова: kernel, postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (101) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 18:52, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    >снизились почти в два раза

    Будут исправлять, что ещё делать.
    С другой стороны "enterprise" и так не побежит обновляться на свежие версии.

     
     
  • 2.6, Аноним (6), 19:01, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Они дали совет из разряда "купите более мощный комп".
     

  • 1.7, Аноним (7), 19:02, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    И вот такое вот мы несём в Ubuntu 26.04 LTS?
     
     
  • 2.11, Аноним (1), 19:08, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Будут ждать корректирующего выпуска 26.04.1
     
     
  • 3.12, Аноним (1), 19:10, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    https://opennet.ru/64240-ubuntu
     
  • 2.46, Sem (??), 00:32, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Справедливости ради, много ли у вас серверов на архитектуре ARM64?
     
     
  • 3.47, Аноним (6), 00:37, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Как бы даже в top500 есть на 7-ом месте.
     
     
  • 4.50, Фняк (?), 03:09, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из разряда дать абсолютно верный, но бесполезный ответ. Кто в здравом уме на числодробилках из топ500 постгрес будет запускать?
     
  • 3.58, Anoni (?), 08:13, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В Амазоне большинство постгресов крутится на Гравитоне...
     
  • 3.77, Аноним (-), 11:27, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Справедливости ради, много ли у вас серверов на архитектуре ARM64?

    У вас может и немного. А у гуглов-амазонов-тенсентов и кого там еще - их уже очень даже.

     
  • 3.82, Анонисссм (?), 12:33, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >много ли у вас серверов на архитектуре ARM64?

    на самом деле Ampere Altra Max M128-30 окуенные.
    встречаются и у провайдеров VDS

     
     
  • 4.105, Аноним (105), 07:09, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > на самом деле Ampere Altra Max M128-30 окуенные.

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

     
  • 2.109, Антонина (?), 09:04, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А кто-то говорит "А что это у вас ядро такое старое? Видете ли 6.12 LTS. Непорядок. Нужно 7.0 не ниже"
     

  • 1.8, Аноним (8), 19:03, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Будет причина сервера обновить. Стандартный подход.
     
  • 1.10, Tron is Whistling (?), 19:08, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Так ядро не ухудшило работу и совместимость не сломало, надо править излишне заточенные на поведение ядра блокировки собственно.
     
     
  • 2.13, Аноним (-), 19:24, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Stable API is nonsence, короче.
     
     
  • 3.67, Tron is Whistling (?), 08:55, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А там где-то API изменилось, или я что-то пропустил?
     
     
  • 4.75, Аноним (-), 10:43, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В широком смысле. От ядра ожидается предсказуемое поведение вообще-то.
     
     
  • 5.83, Tron is Whistling (?), 13:02, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так оно и предсказуемое: всё работает.
    А вот то, что затюнили на конкретное микроповедение (тайминг), да ещё и конкретной платформы - ну это уже извиняйте, не проблемы ядра.
     
     
  • 6.97, Аноним (-), 22:41, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В два раза — это, извините, не «микро». Отдельно доставляет то, что ведь не какая-то поделка васяна с гитхаба отвалилась.
     
     
  • 7.108, Tron is Whistling (?), 08:42, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В смысле, "не какая-то поделка васяна с гитхаба"...
     
  • 6.119, anoName (?), 16:09, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    но кое-что вдвое медленней.
    если это оставить так, в следующем релизе будет две вещи работающие медленней. потом четыре...
     
     
  • 7.121, Tron is Whistling (?), 17:33, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хосспаде, завязаться на тактовку конкретной команды в tight loop, а потом удивляться, что тебя вдруг посередине вытеснить могут... да, эти "вещи" будут медленнее.
     
  • 7.122, Tron is Whistling (?), 17:35, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Оставлять так не надо конечно - но ядро тут не при чём, вытеснение "плотных" задач - нормальное поведение ядра.
     
  • 3.102, анон (?), 01:30, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это про интерфейс между ядром и модулями, а не ядром и юзерспейсом.
     

  • 1.14, Аноним (14), 19:25, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    В новости так расписано как PREEMPT_LAZY плохо влияет на постгрю, но при этом совсем не сказано для чего его добавляли и на что оно влияет позитивно.

    The introduction of PREEMPT_LAZY was for multiple reasons:
    - PREEMPT_RT suffered from over-scheduling, hurting performance compared to !PREEMPT_RT.
    - the introduction of (more) features that rely on preemption; like folio_zero_user() which can do large memset() without preemption checks.
    (Xen already had a horrible hack to deal with long running hypercalls)
    - the endless and uncontrolled sprinkling of cond_resched()

    Поэтому "решать" проблему через "вернуть по умолчанию режим PREEMPT_NONE" это фуфло. Ядро используется не только чтобы какие-то постри крутить. И они не должны быть приколачивать работу к дефолту.

     
     
  • 2.52, Аноним (52), 03:29, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А почему не PREEMPT_DYNAMIC?
     
  • 2.74, Аноним (74), 09:54, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    PREEMPT и всякие RT это абсурд на многоядерных системах.
     
     
  • 3.78, Аноним (-), 11:29, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > PREEMPT и всякие RT это абсурд на многоядерных системах.

    Вообще-то PREEMPT_RT начиная с ядра 6.1 примерно дает именно RTOS'овые гарантии. Т.е что например на интервале X задача получит не менее Y процессорного времении.

    И ядро прошло довольно длинный путь чтобы достичь этого состояния. Потому что это не столько про 1 ядро и несколько, сколько про шедулинг, начинку ядра, blocking и проч.

     
  • 3.90, Аноним (90), 18:20, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Звукорежиссёры не согласны.
     
  • 2.133, Аноним (133), 19:29, 07/04/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.15, FSA (ok), 19:43, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличные новости! Выявили! Значит исправят! Тем более даже у меня, на Fedora 44 до сих пор ядро 6.19. А другие дистрибутивы вообще более древние версии ядер используют. Так что когда они перейдут на версию 7.0 уже всё будет исправлено.
    Вспоминается, как глючил переключатель раскладки в Windows. Он глючил в Windows 2000, XP... и даже в Vista.
     
     
  • 2.16, Аноним (1), 19:48, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >до сих пор ядро 6.19

    А какие ещё были ?
    https://www.kernel.org

     
     
  • 3.17, Аноним (17), 20:10, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А какие ещё были ?

    Мог бы и сходить по своей то ссылке
    mainline: 7.0-rc6 2026-03-29

     
     
  • 4.18, Аноним (1), 20:19, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну ? Это же "RC" (release candidate).
    "Linux 7.0 релиз которого ожидается 13 апреля".
     
     
  • 5.87, Аноним (17), 15:08, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну ? Это же "RC" (release candidate).

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

     
  • 2.35, dannyD (?), 22:30, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>до сих пор ядро 6.19

    как бэ не совсем понятно - вы жалуетесь или хвастаетесь?

     
  • 2.56, Аноним (56), 08:10, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В старых нету закладок.
     
  • 2.64, Zloy (ok), 08:33, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ничего никогда не глючило) Вообще выбор ядра зависит от требований, я перешел на линукс, когда увидел изменения в 6.19 которые мне были нужны. Не думаю, что стоит сразу перескакивать на новое ядро, обычно там много багов, которые обычные пользователи скорее всего не заметят.
     
  • 2.80, ShpurloS (?), 11:53, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так переключатель и в Windows 11 продолжает глючить.
     
  • 2.81, zionist (ok), 12:08, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > даже у меня, на Fedora 44 до сих пор ядро 6.19

    Fedora 44 ещё не вышла, у тебя максимум бета. А вот у меня на Fedora 43 ядро тоже 6.19 и со временем будет 7.0 ибо ядра тут обновляются всегда.

     

  • 1.19, eugener (ok), 20:21, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Так это на arm, расходимся. Главное чтобы десктоп работал, а что там с БД — проблема сисадминов.
     
     
  • 2.21, Аноним (1), 20:30, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Так это на arm

    https://newsroom.ibm.com/2026-04-02-ibm-announces-strategic-collaboration-with

     
  • 2.34, dannyD (?), 22:28, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • –11 +/
    >>Так это на arm, расходимся. Главное чтобы десктоп работал....

    Вы до сих пор на x86 ? Вам еще не приташнивает? Мне уже давно, еще до эплсиликон...

     
     
  • 3.126, Аноним (126), 22:38, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    От арма тошнит, и сильно.
     

  • 1.20, Аноним (20), 20:26, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Perf profiling shows 55% of CPU time is consumed spinning in PostgreSQL's userspace spinlock (s_lock()) under PREEMPT_LAZY

    если в постгресе запилили спинлок в юзерспейсе (на что намекает этот коммент), то они по умолчанию не правы. Не надо так делать.

     
     
  • 2.43, Аноним (43), 23:59, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты прав. В юзерспейсе вообще не надо использовать ничего из того, что предоставляет ядро.
     
     
  • 3.116, Аноним (6), 12:11, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Но ядро ничего не предоставляло, а то, что начало предоставлять в 7.0 - оно в два раза медленнее.
     
  • 2.115, Аноним (6), 12:10, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интересно, что юзерспейс спинлок работал в 2 раза быстрее, чем что-то новое в ядре 7.0
     

  • 1.22, Аноним324 (ok), 20:31, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    > Пока не ясно какое решение примет Линус Торвальдс, который придерживается правила, что ядро не должно ухудшать работу и ломать совместимость с пространством пользователя.

    Так он каждый релиз ядра её ухудшает, и вообще стейб апи из нонсенс.

     
     
  • 2.23, Аноним (23), 20:36, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Линус Торвальдс, который придерживается правила, что ядро не должно ухудшать работу и ломать совместимость с пространством пользователя.

    Опять читаем новость не тем местом...

     
  • 2.28, Аноним (28), 21:42, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Тут API не меняется. Вы, очевидно, не в курсе, что такое API.
     
     
  • 3.38, Аноним (6), 23:12, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё как меняется:

    > автор изменений, из-за которых возникла регрессия ... заявил, что исправление нужно вносить в код PostgreSQL. ... посоветовал задействовать ... недавно добавленное в ядро расширение "rseq slice"

     
     
  • 4.42, Аноним (28), 23:53, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Даже слов не нахожу. Существующее API не изменилось. Как было так и осталось. Поменялись внутренние алгоритмы и добавилось новое API. Очевидно, вы никаком боком к разработке отношения не имеете.
     
     
  • 5.117, Аноним (6), 12:14, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Даже слов не нахожу. Добавили не API, а изменили поведение системы по умолчанию, что замедлило программы в два раза. Ты же понимаешь, чем отличается имплементация от декларации?
     
  • 5.123, Аноним324 (ok), 19:37, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Даже слов не нахожу. Существующее API не изменилось. Как было так и
    > осталось. Поменялись внутренние алгоритмы и добавилось новое API. Очевидно, вы никаком
    > боком к разработке отношения не имеете.

    Апи не поменялось, но поменялись кишки апи и добавилось новое апи, но апи не поменялось. Л линуксоид.

     
  • 2.51, Фняк (?), 03:12, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты бы хоть открыл тот файлик, на который ссылаешься. Там про внутриядерный апи
     
     
  • 3.59, Аноним (56), 08:16, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А ты что древние тексты читать умеешь
     

  • 1.24, Аноним (24), 20:36, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А потом наёдут грязные хаки в PostgreSQL, обходящие планировщик. 146%
     
  • 1.25, User (??), 21:12, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Этот Питер он вот откуда? Тут серьёзные человеки из платиновых спонсоров сказали, что "регрессия", а всякие там с @infraded.org говорят что "и так сойдет" - сейчас ГЛАВНЫЙ разберется как следует и "с присущим ему своеобразием" примет ПРАВИЛЬНОЕ решение.
     
  • 1.26, Аноним (26), 21:25, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно выпустить и так, но добавится гемор строителям дистров, т.к. при установке PostgeSQL им придется капсом писать для пользователей, что для корректной работы нужно другая версия ядра с PREEMPT_NONE или самим включать PREEMPT_NONE по дефолту. Да и вообще может выясниться, что на PREEMPT_LAZY можно забить.
     
     
  • 2.60, Аноним (56), 08:19, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому Майки финансируют Генту. Они лучше знают что лучше.
     
  • 2.68, Tron is Whistling (?), 08:57, 05/04/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.79, Аноним (-), 11:31, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > нужно другая версия ядра с PREEMPT_NONE или самим включать PREEMPT_NONE

    Блин, MSDOS поставьте - никто не будет вам preempt делать :)

     

  • 1.36, дворник (?), 22:48, 04/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –16 +/
    Я так понимаю из-за этой шляпы сейчас "колбасит" (платежи не проходят, банкоматы наличку не дают) все банки, они-же с оракела переползли на постгри, и с интеля на арм.

    сбербанка и втбанка, если читаете эту новость, напишите, что это не так.

     
     
  • 2.37, Аноним (1), 22:54, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Погугли, узнаешь почему.
     
     
  • 3.130, пох. (?), 16:35, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    товарищмайор - тут экстремизм гуглят!
     
  • 2.39, ПростойФермерДжон (?), 23:15, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не не так,  сочетании с телеметрией нового Firefox, и profile-sync-daemon 7, пропускная способность осталась такой же, вот только данные дико сливают, не то чтобы мне жалко, но жалко траффика, и ого, я смотрел iotop, в новом firefox, за минуту наверное метров 500 скачивает).
    А да, точно, и все это на замечательном ядре 7.
     
     
  • 3.40, Аноним (40), 23:42, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А что там за телеметрия?В релизе 149 ничего такого указано не было.
     
     
  • 4.54, ПростойФермерДжон (?), 06:17, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Карочи щас не помню, какой то процесс, именно телеметрия.
    В iotop видно.
    Пробовал в firefox tarball.
    Те Firefox + Кеш + Какой то процесс именно телеметрия, отдельный, он непрерывно пишет на диск.
    Тоесть даже если отключить кеш, то этот процесс еще больше пишет чем кеш. А ну да, версия 151.
    Если оставить браузер, не листать интернет, то пишет непрерывно на диск, это уничтожает ресусрс ssd, ну и вообще номральн ли это, все равно что непрерывно копировать файлы в простое.
     
     
  • 5.62, Аноним (62), 08:29, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В последнюю версию ещё АИ добавили
     
  • 5.85, Аноним (85), 13:47, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так а в чём проблема user_pref browser newtabpage activity-stream feeds teleme... большой текст свёрнут, показать
     
  • 3.41, Аноним (1), 23:43, 04/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Что ?
     
  • 2.45, Аноним (45), 00:13, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да все так ты прав. Эта хрень снизила в два раза перформанс всех тг прокси. Особенно 2.0beta которая из официального докера вообще не запускается.
     
     
  • 3.65, Аноним (62), 08:34, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На Марс лети. Там нету блокировок интернета.
     
     
  • 4.131, пох. (?), 17:40, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    хахаха, их даже в Таджикистане нету, незачем лететь так далеко.
    (кто тут теперь в масквабаде таджик cp@ный, а кто гражданин первого сорта - скоро тебе на понятных примерах пояснят за гаражами)

     
  • 2.53, Аноним (53), 04:18, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и ютуб, ютую поломала еще... до того как вышла
     

  • 1.69, Tron is Whistling (?), 09:00, 05/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Правильное название такое: в спинлоках постгрыза выявлена проблема, приводящая к снижению производительности на ядре 7 и арм.
     
     
  • 2.71, Аноним (71), 09:06, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ядро внезапно стало честно выдавать ресурсы, нужные для выполнения бесконечного цикла)
     
     
  • 3.118, Аноним (6), 12:17, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    честно - это замедлить приложение в два раза. Раньше такого не было.
     

  • 1.70, Аноним (71), 09:04, 05/04/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

  • 1.72, Аноним (71), 09:09, 05/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Для устранения падения производительности он посоветовал задействовать в PostgreSQL недавно добавленное в ядро расширение "rseq slice" (Restartable Sequences) для ограничения вероятности вытеснения держателя блокировки.

    Пока дилетанты разбираются с костылями, профессионалы вовсю орудуют подпорками для костылей.

     
  • 1.73, Аноним (74), 09:50, 05/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Питер Зейлстра (Peter Zijlstra), автор изменений, из-за которых возникла регрессия, и мэйнтейнер планировщика задач и связанных с блокировками подсистем ядра, заявил, что исправление нужно вносить в код PostgreSQL.

    Удалять PREEMPT_NONE идиотизм, а совет переделать постгре показывает уровень разраба.
    Надеюсь Линус примет его стандартное в таким случаях решение.

     
     
  • 2.84, Tron is Whistling (?), 13:03, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если проблемы только у одной поделки - переделывать придётся её, такие дела.
     
     
  • 3.124, Аноним (6), 20:57, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Код "трогали" в ядре 7.0 - переделывать придётся эту поделку
     
     
  • 4.125, Tron is Whistling (?), 22:20, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И ещё потрогают. А переделывать всё равно придётся постгрыз, потому что проблема в нём.
    Ну или может весь арм пострадать, останется без флага.
     

  • 1.91, Аноним (91), 18:57, 05/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    да там того спинлока 200 строк кода всего. поправят за чашкой чая.
     
  • 1.93, уп (?), 19:47, 05/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Учёный вновь изнасиловал журналиста.

    https://lore.kernel.org/lkml/20260405144425.36044-1-kondo.mitsumasa@gmail

    Проблема в конкретном коде Постгри для конкретной архитектуры.

     
     
  • 2.95, zionist (ok), 20:07, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Цитата от туда же:

    So I agree that the patch to retain PREEMPT_NONE is the right approach.

     
     
  • 3.96, уп (?), 20:25, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не апстрим следует даунстриму, а даунстрим следует апстриму.
     
     
  • 4.98, zionist (ok), 23:23, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Причём тут это? Mitsumasa говорит, что правильным решением, по его мнению, является патч ядра, возвращающий PREEMPT_NONE по дефолту.
     
     
  • 5.101, уп (?), 01:23, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Причём тут это? Mitsumasa говорит, что правильным решением, по его мнению, является
    > патч ядра, возвращающий PREEMPT_NONE по дефолту.

    А я сказал, как должно быть.

     
  • 5.120, Аноним (120), 16:55, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ок, пусть возвращает в ядре PREEMPT_NONE по дефолту.
     
  • 2.99, Аноним (99), 23:38, 05/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых то сообщение опубликовано уже после выхода новости. Во-вторых по вашей ссылке ерунда написана, которую уже раскритиковали:

    https://lore.kernel.org/lkml/ccux4fgjcr626swwjwtdstxddkqjyxvcwsesqquttcg7wuwnp

    If I remove the rep nop on x86-64, the performance of the 4kB pages workload
    is basically unaffected, even with PREEMPT_LAZY.

    The spinning helps with workloads that are contended for very short amounts of
    time. But that's not the case in this workload without huge pages, instead of
    low 10s of cycles, we regularly spend a few orders of magnitude more cycles
    holding the lock.

    That's not to say the arm64 spin delay implementation is good. It just doesn't
    seem like it affects this case much.

     

  • 1.104, Аноним (104), 05:27, 06/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Пока не ясно какое решение примет Линус Торвальдс, который придерживается правила, что ядро не должно ухудшать работу и ломать совместимость с пространством пользователя.

    Правило хорошее, но каждый случай надо расматривать отдельно. Конкретно эта ситуация с PostgreSQL не является ломкой совместимости. Это другой случай.

    >С одной стороны ядро 7.0 находится на финальной стадии тестирования перед релизом и откат настроек планировщика может привести к другим регрессиям, а с другой стороны пользователи могут столкнуться с двухкратным снижением производительности одной из самых популярных СУБД.

    И это дополнительный причина к тому чтобы всё оставить как надо. Пусть разработчики PostgreSQL оптимизируют свой код. В данном случае, это проблема программистов из PostgreSQL.

     
  • 1.114, Аноним (114), 11:07, 06/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Похоже, что изменения в коде postgres ожидается в 19-м релизе:
    https://postgrespro.com/list/id/Z37AA6-SsJoLaifa@nathan
     
  • 1.127, Аноним (126), 22:52, 06/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >on a 96-vCPU (AWS EC2 m8g.24xlarge) Graviton4 arm64 system

    Что это он там в виртуалке меряет? Погоду на Марсе?

     
     
  • 2.128, Аноним (126), 22:56, 06/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Perf profiling shows 55% of CPU time spinning in PostgreSQL's userspace spinlock (s_lock()) under PREEMPT_LAZY.

    На арме, да еще и в виртуалке это, в общем, ничего не означает.

     

  • 1.129, Аноним (126), 23:36, 06/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как и следовало ожидать: ISB вызывает выход из VM. Что они там намерили - черт его знает.
     

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



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

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