The OpenNET Project / Index page

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

Новая редакция списка возможностей, которых не хватает в ядре Linux по мнению системных программистов

21.10.2011 17:33

Кей Сайверс (Kay Sievers), Леннарт Поттеринг (Lennart Poettering) и Харальд Хойер (Harald Hoyer) опубликовали обновлённый вариант списка возможностей, которых не хватает в ядре Linux по мнению системных программистов, занимающихся разработкой низкоуровневых компонентов для Linux-систем.

По сравнению с первым вариантом в новом списке добавлены следующие пожелания:

  • Добавление в tmpfs поддержки дисковых квот для защиты от переполнения /tmp, /dev/shm, /run/user/$USER отдельным пользователем;
  • Добавление корректной поддержки fallocate() для tmpfs для предварительного резервирования места под создаваемые файлы;
  • В механизм нотификации fanotify предлагается добавить поддержку генерации событий при переименовании файла, создание безопасного метода непривилегированного доступа и возможность передачи информации о флагах открытия файлов, что позволит осуществляющим мониторинг приложениям разобрать открыт файл на запись или только на чтение. Также предлагается создать метод проверки был ли действительно изменен файл после закрытия, если файл был до этого открыт в режиме записи и чтения (read-write);
  • Более быстрая реализация xattrs для ext2/3/4, позволяющая использовать xattrs из пространства пользователя без дополнительных накладных расходов на позиционирование;
  • Возможность создавать доступные в режиме только для чтения точки bind-монтирования (одна директория монтируется в другую) через один системный вызов mount(), вместо двух (возможен эффект гонки). Через один системный вызов также предлагается реализовать настройки для точки монтирования, связанные с пространством имён;
  • Возможность управлять перемещением в область подкачки для отдельных страниц памяти;
  • Готов патч для нотификации об изменении имени хоста и патч для PR_SET_CHILD_SUBREAPER;
  • Использование 64-разрядных PID-идентификаторов по умолчанию;
  • Вариант файловой системы в стиле unionfs или возможность слияния нескольких точек монтирования (union mount);
  • Реализация системного вызова revoke();
  • Уведомление, когда завершается произвольный процесс, не только дочерний.


 
  1. OpenNews: Список возможностей, которых не хватает в ядре Linux по мнению системных программистов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/32104-kernel
Ключевые слова: kernel, linux, system
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (44) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, AlexAT (ok), 18:24, 21/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    >>> Добавление в tmpfs поддержки дисковых квот для защиты от переполнения /tmp, /dev/shm, /run/user/$USER отдельным пользователем.

    Да.

    >>> Использование 64-разрядных PID-идентификаторов по умолчанию.

    Да!

    >>> Вариант файловой системы в стиле unionfs или возможность слияния нескольких точек монтирования (union mount).

    ДА!!!

    Остальное под вопросом. В частности "управление подкачкой" и "уведомление о завершении любого процесса" - потенциальные дыры.

     
     
  • 2.9, gfh (??), 19:34, 21/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    mhddfs ?
     
     
  • 3.17, СуперАноним (?), 21:54, 21/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >>> Использование 64-разрядных PID-идентификаторов по умолчанию.
    >Да!

    Нахрена? Неужели на одной машине может быть одновременно более 4 млрд. процессов? Даже на кластере трудно представить столько.

     
     
  • 4.19, AlexAT (ok), 21:57, 21/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >>>> Использование 64-разрядных PID-идентификаторов по умолчанию.
    >>Да!
    > Нахрена? Неужели на одной машине может быть одновременно более 4 млрд. процессов?
    > Даже на кластере трудно представить столько.

    Нет, но неповторяемость идентификаторов при частой смене тысяч процессов типа pppd очень удобна.

     
  • 2.13, gegMOPO4 (ok), 20:55, 21/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Наверняка для этого понадобятся особые права, так что нормально.
     

  • 1.12, Аноним (-), 20:04, 21/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    >Уведомление, когда завершается произвольный процесс, не только дочерний

    Моя мечта - утилита killwait, которая бы не просто отправляла сигнал процессу, но и дожидалась его завершения.

     
     
  • 2.14, gegMOPO4 (ok), 20:59, 21/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    ...и контрольный выстрел в голову.
     
     
  • 3.15, Аноним (-), 21:48, 21/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, возможность отправить сигнала 9 по таймауту должна быть обязательной фичей.
     
  • 2.16, Аноним (-), 21:49, 21/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –2 +/
    >Моя мечта - утилита killwait, которая бы не просто отправляла сигнал процессу, но и дожидалась его завершения.

    #!/bin/bash
    #killwait
    kill -9 $1
    sleep 1

     
     
  • 3.18, Аноним (-), 21:55, 21/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    > -9
    > sleep 1

    не годится.

     
     
  • 4.22, gegMOPO4 (ok), 23:39, 21/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Может попробовать помониторить /proc?
     
     
  • 5.25, Аноним (-), 00:10, 22/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    > Может попробовать помониторить /proc?

    Может просто стоит признать, что

    >Уведомление, когда завершается произвольный процесс, не только дочерний.

    нужная штука?

     
  • 4.23, Аноним (-), 23:57, 21/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    kill $1
    while kill -0 $1; do sleep 1; done
    ?
     
     
  • 5.24, Аноним (-), 00:06, 22/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Примерно такие костыли и использую. Но хотелось бы нормальный способ.
     
  • 5.32, Аноним (-), 14:45, 22/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –3 +/
    Некотрые видимо не понимают разницы между ожиданием таймаута и ожиданием событий... большой текст свёрнут, показать
     
     
  • 6.35, Аноним0 (?), 02:10, 23/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    боюсь плюсануть, т.к много текста про бсд, совсем неуместного. а вот то что сигналы надо обрабатывать, а не херней страдать с килами и слипами (которые выглядят крайне глупо) хочу подчеркнуть.
     
     
  • 7.41, Аноним (-), 06:00, 23/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Все там уместно. Тема как озаглавлена? Список возможностей, которых не хватает Линуксу. Вот и было сказано, чего ему не хватает. Ну и что в нем неправильно - сюда же.
     
  • 6.42, AlexAT (ok), 14:09, 23/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    >>> Все нормальные юниксы передают их через стек. И только в Linux почему-то

    Потому, что доступ к регистрам быстрее доступа в память. А регистров на современных процах полно. Особенно на не-x86. И на x86_64. И только "нормальные юниксы" этого не учитывают, каждый вызов жертвуя пропускной способностью кеша и памяти.

    >>> Заставляя приложение все время сохранять и восстанавливать регистры и терять кучу циклов на это

    Зачем? Компилятор настолько туп, что не может оптимизировать доступ к регистрам?

    >>> и увеличивая вероятность возникновения ошибок.

    Можно пояснить, чем разница в расположении данных "увеличивает вероятность"?

    >>> Хотя регистры все равно в стек сохраняются. Зачем этот ДОС-овский маразм нужен?

    Есть хитрость - в ряде случаев можно ничего не сохранять.


     
     
  • 7.44, Аноним (-), 17:23, 23/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Вы видимо не знаете более достойного использования регистров, пусть даже если ре... большой текст свёрнут, показать
     
     
  • 8.45, AlexAT (ok), 18:40, 23/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    В момент вызова ядра более достойного использования им всё равно нет - все приде... текст свёрнут, показать
     
     
  • 9.52, Аноним (-), 08:36, 24/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Я переставил некоторые ваши абзацы местами при цитировании, сгруппировав их по ... большой текст свёрнут, показать
     
     
  • 10.55, AlexAT (ok), 23:11, 24/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Спасибо, кэп Открыть секрет Оптимизация по размеру делается в ущерб производит... текст свёрнут, показать
     
     
  • 11.56, AlexAT (ok), 23:13, 24/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    ЗЫ Последний тезис - про абстрактные сферические в пределах одной программы Пр... текст свёрнут, показать
     
     
  • 12.58, Аноним (-), 14:29, 25/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ну допустим, здесь я позволил себе допустить небрежность Следовало сказать не о... большой текст свёрнут, показать
     
     
  • 13.59, Аноним (-), 15:00, 25/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В простоте, кода и инструментов Вам нужны примеры простоты Сложность может выи... текст свёрнут, показать
     
  • 13.60, AlexAT (ok), 08:06, 26/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я доверяю ABI, которое однозначно говорит, что надо сохранять Нормальный оптими... большой текст свёрнут, показать
     
     
  • 14.61, Аноним (-), 17:49, 26/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    О, да Это одна из моих любимых фраз simple, stupid - похоже Ваше всё - то ... большой текст свёрнут, показать
     
  • 8.49, Ytch (?), 23:58, 23/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Если регистры используются для передачи возврата значений функций, это вовсе не ... большой текст свёрнут, показать
     
     
  • 9.53, Аноним (-), 08:56, 24/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вы неправильно все интерпретируете Как раз таки наследие DOS и отягощено прив... большой текст свёрнут, показать
     

  • 1.20, Аноним (-), 22:55, 21/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    aufs разьве не заменяет unionfs ? Или я туплю и его нету в ванильном ядре?
     
     
  • 2.54, Аноним (-), 13:53, 24/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    aufs как раз является "вариантом файловой системы в стиле unionfs". Но в ваниле таких ФС нет и не будет, Торвальдс в свое время высказался достаточно жестко.
     

  • 1.21, Андрей (??), 23:31, 21/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    "В механизм нотификации fanotify..."
    Да, и монтирование - это изменение! Плиз, добавьте! Каких только "выстрелить себе в ноге" не наёдёшь, чтобы мониторить такую вещь как монтирование!
     
  • 1.26, pavlinux (ok), 02:32, 22/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    Мечты 0 Верните dev XOR 1 Нужны dev aes, dev blowfish, dev gost, ... большой текст свёрнут, показать
     
     
  • 2.33, Аноним (-), 15:02, 22/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/

    > 7. Хотя бы примитивный искусственные интеллект с предсказаниями для SMP-балансировщика,
    >    чтоб после 500 раз форков апача он уже понимал,
    > что каждый 50-й надо сразу форкать
    >    на новый процессор/ядро, а не ждать пока ядро загрузиться
    > до 101%

    И тут внезапно шиндошс, глюки, маты админов, что что-то работает не так, как ожидалось и тп.

     
  • 2.36, Аноним (-), 03:34, 23/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Мечты.
    >0. Верните /dev/XOR
    > ...

    Pavlinux, ты реально крут. Очень надеюсь что пожелания уже успел отправить девелоперам. Я уверен, что если и kernel-хакеры не реализуют все или какую-то часть, то ваши пожелания, как минимум, получать широкую огласку, что увиличивает (потенциально) щансы на улучшения. Ну а если у вас есть напористость - то вполне можете завести дискуссию и остаивать необходимые пунткы. То что вы понаписали сильно может улучшить ядро. Это очень хорошо.

     

  • 1.28, Какаянахренразница (?), 10:38, 22/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    А где список пожеланий, которые были в предыдущей редакции, но не вошли в нынешнюю, ибо УЖЕ ВЫПОЛНЕНЫ? Или несть таких?
     
     
  • 2.29, Aquarius (ok), 11:33, 22/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    так быстро?
    однако, вы фантазер, батенька
     
     
  • 3.39, fyjybvec (?), 04:27, 23/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    По первому списку я видел несколько патчей в течение дня-двух, дальше не отслеживал.
     

  • 1.37, Аноним (-), 03:57, 23/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    не отказался бы от сжатия tmpfs с, скажем, LZO.

    а то 4х гектаров мозгов уже еле хватает, чтобы фуррифокс 8-ой собрать.

     
     
  • 2.38, Аноним (-), 04:09, 23/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    ZRAM?
     
     
  • 3.40, Аноним (-), 05:05, 23/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    опа-це! спасибо за наводку!
     
     
  • 4.43, Аноним (-), 14:32, 23/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Как просто открывался ларчик. Кстати, если 4 гектар мозгов не хватает на какую-то сборку, я бы всерьез подумал о качестве всего мемори менеджмента в ядре. Как-то фиговато-вато-этово это выглядит. Чай, не Оракл собирать.
     
     
  • 5.57, Aquarius (ok), 06:05, 25/10/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Как просто открывался ларчик. Кстати, если 4 гектар мозгов не хватает на
    > какую-то сборку, я бы всерьез подумал о качестве всего мемори менеджмента
    > в ядре. Как-то фиговато-вато-этово это выглядит. Чай, не Оракл собирать.

    а почитать внимательнее если?
    речь идет о tmpfs, то есть об использовании памяти в качестве контейнера для того, что принято называть виртуальным диском

     
  • 3.47, Аноним (-), 23:55, 23/10/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > ZRAM?

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

     

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



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

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