LINUX.ORG.RU

30
Всего сообщений: 89

Контрольные группы и pf-kernel.

$ sudo cast post-factum

По мотивам нашего недавнего разговора.

❯ uname -a
Linux orages 4.12.0-pf5 #2 SMP PREEMPT Mon Aug 7 01:01:07 +08 2017 x86_64 Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz GenuineIntel GNU/Linux

~
❯ mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)

Конфиг ядра здесь.

Вот такой вывод получаю, когда пробую запустить свой скрипт (в качестве примера взял Telegram):

❯ bash -x ~/bin/telegram                             
++ basename /home/spijet/bin/telegram
+ CGROUP=telegram
+ TASKFILE=/sys/fs/cgroup/memory/telegram/tasks
+ MEM_MB=200
+ PROGRAM=/usr/bin/telegram-desktop
+ PRIVATE_DIR=/home/spijet/.cache/firejail-private/telegram
+ '[' -f /sys/fs/cgroup/memory/telegram/tasks ']'
+ sudo /usr/bin/cgcreate -a spijet:spijet -t spijet:spijet -g memory,cpu:telegram
/usr/bin/cgcreate: can't create cgroup telegram: Cgroup one of the needed subsystems is not mounted
+ /usr/bin/cgset -r memory.limit_in_bytes=209715200 telegram
+ /usr/bin/firejail --cgroup=/sys/fs/cgroup/memory/telegram/tasks /usr/bin/telegram-desktop
Error: invalid cgroup

/usr/bin/cgcreate — часть пакета libcg, который, судя по SourceForge, давно не обновлялся. Почитаю больше про CGroups v2 и попробую переработать скрипт.

 , ,

spijet ()

Не выключается питание

Поставил вместо стандартного ядра ядро от pf. Конфиг взял свой обычный. Сменил практически только mq-deadline scheduler. И комп перестал выключаться. Пишет в конце всех сообщений Power shutdown и все. Пока кнопку питания не нажмешь, не отключается. На обычном ядре все нормально. С чем это может быть связано и как поправить?

 , ,

r_a_vic ()

Больше нет TuxOnIce в pf-kernel?

Сегодня обнаружил, что в pf больше нет TuxOnIce: ни в pkgbuild'е ни в конфиге ядра нет никаких его упоминаний.

Почему он больше не поддерживается, проект TuxOnIce вроде как жив и развивается (форкнули)?

Актуально для версии 4.11.7.

cast post-factum

 , , , ,

mersinvald ()

Шта?

MuQSS сам допилил, или в этом релизе его нет?

Я ъ, там ничего не прочитал.

cast post-factum //я знаю что ты подписан на теги, это я для мимокрокодилов кастанул...

 , ,

timdorohin ()

Ядро 4.10-pf с планировщиком MuQSS — постоянный жор CPU или ошибка индикации (LA >= 1)

post-factum, у меня ядро 4.10-pf4 (e869f122, верхушка pf-4.10) со включенным MuQSS приводит к индикации постоянного жора 1 ядра CPU (не какого-то конкретного, а суммарно, т. е. LA >= 1). Конкретного жрущего процесса тоже нет. Отключение MuQSS решает проблему.

Потребление энергии при этом тоже возросло (на 2-3W), но не настолько, сколько отняло бы на моём железе одно действительно постоянно работающее ядро. Других свидетельств того, что это реальный жор, а не ошибка индикации, у меня нет, т. е. производительность не замерял.

Железо — ThinkPad T540p (i7-4700MQ). Конфиг ядра здесь.

 ,

intelfx ()

pf-kernel в gentoo

Почему версия pf-kernel в gentoo такая старая (даже в ~amd64)? Нет ментейнеров? Если это так, то я готов сопровождать. Что для этого надо сделать?

 ,

cetjs2 ()

Ну зачем было впихивать stable патч?

Не, серьезно, зачем? Я из-за этого не могу накатить патч на дэбиановское ядро (уже с патчами).

В чем смысл, Билли? А? Добавить геммороя всем юзерам? Приходится вытаскивать все нужное вручную...

cast post-factum

 , , ,

timdorohin ()

Компиляция pf-kernel 3.14

Пытаюсь собрать pf-kernel 3.14, во время make вылетает

kernel/sched/bfs.c: In function 'wake_up_new_task':
kernel/sched/bfs.c:1731:4: error: implicit declaration of function '__set_tsk_resched'[-Werror=implicit-function-declaration]
    __set_tsk_reschend(parent);
    ^
gcc 4.9.4

Конфиг на основе gentoo-source 4.4.39

 , , , ,

mfhunruh ()

pf-kernel на openSUSE Leap 42.3

Описание было обновлено. Первые несколько комментариев о том, что мне был непонятен последний абзац новости. Но это теперь не важно.

По ссылке ниже доступен репозиторий для openSUSE с ядром 4.9, пропатченным патчем Коливаса. Если вам нужно ядро 4.13, воспользуйтесь репозиторием Kernel:HEAD или Kernel-stable (а тут Xen-ядро)! Хотя я назвал пакет «pf-kernel», остальные патчи из набора post-factum я пока не накладывал.

18 сентября 2017 я обновил его с 4.9.8 до 4.9.22. До 4.9.50 обновлю чуть позже, а пока запарился. Запарился потому что иногда, при добавлении очередного файла patch-4.9.xx, возникает конфликт с сусепатчами, который приходится разрешать.

https://build.opensuse.org/project/show/home:linux4humans:pf-kernel
http://download.opensuse.org/repositories/home:/linux4humans:/pf-kernel/

 , , ,

ZenitharChampion ()

Доступен v4.9-pf1

Как всегда.

Анонс тут.

 , , , ,

post-factum ()

Доступен v4.7-pf1

BFS v0.472, BFQ v8, writeback-throttling, патчсет для GCC под разные CPU.

Анонс, патч.

 , , , ,

post-factum ()

[РЕШЕНО]ARCH после обновления на пф-ядре кернел паник, на стандартном все нормально

пф-ядро версии 4.6-pf1 отказалось почему то работать после обновления системы сегодня...

обновлены:

[2016-07-16 08:46] [ALPM] upgraded nvidia-libgl (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded nvidia-utils (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM-SCRIPTLET] If you run into trouble with CUDA not being available, run nvidia-modprobe first.
[2016-07-16 08:46] [ALPM] upgraded lib32-nvidia-utils (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded lib32-nvidia-libgl (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded lib32-opencl-nvidia (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded libxnvctrl (367.27-2 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded nvidia-dkms (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded nvidia-settings (367.27-2 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded opencl-nvidia (367.27-1 -> 367.35-1)
[2016-07-16 08:46] [ALPM] upgraded virtualbox-host-dkms (5.0.24-1 -> 5.1.0-1)
[2016-07-16 08:46] [ALPM] upgraded virtualbox (5.0.24-1 -> 5.1.0-1)
[2016-07-16 08:46] [ALPM] upgraded virtualbox-guest-dkms (5.0.24-1 -> 5.1.0-1)
[2016-07-16 08:46] [ALPM] transaction completed
[2016-07-16 08:46] [ALPM] running '70-dkms-install.hook'...
[2016-07-16 08:46] [ALPM-SCRIPTLET] ==> dkms install -m nvidia -v 367.35 -k 4.6.0-pf1-ARCH
[2016-07-16 08:48] [ALPM-SCRIPTLET] ==> dkms install -m nvidia -v 367.35 -k 4.6.4-1-ARCH
[2016-07-16 08:53] [ALPM] running 'gtk-update-icon-cache.hook'...
[2016-07-16 08:53] [ALPM] running 'man-db.hook'...
[2016-07-16 08:53] [ALPM] running 'update-desktop-database.hook'...
[2016-07-16 08:53] [ALPM] running 'update-mime-database.hook'...

 , ,

safocl ()

v4.4-pf1

 , , , ,

post-factum ()

v4.3-pf1

 , , , ,

post-factum ()

Сборка ядра + pf-патчсет в opensuse

Решил вчера собрать ядро по этой статье. Скачал исходники 4.2 (не 4.2.1 или ещё какой-то, именно 4.2). Скачал патч, применил, всё ок. Настроил конфиг ядра, запустил компиляцию. Ближе к концу у меня посыпались ошибки про нехватку места.

В итоге:

  • btrfs начала делать снапшоты на каждое изменение, таким образом «выжрав» более 3 гигабайт;
  • /usr/src/packages (где были папки BUILD, BUILDROOT и прочие) весила более 11гб.
  • разумеется, что остающиеся 14гб у меня кончились

Что не так? Вроде ж при компиляции ядра не должно быть так много данных на диске - для сборки libreoffice мне хватало /tmp в 10 гигов в генте.

 , , ,

ekzotech ()

v4.2-pf1

 , , , ,

post-factum ()

v4.1-pf0

Поскольку ни одного патча официально нет, пришлось всё портировать самому.

Потестируйте, пжлст. Патч вот.

То, с чем я столкнулся: какого-то хрена отпал TCP-аплоад при net.ipv4.tcp_mtu_probing=2. Когда ставлю =1, всё работает. В 4.0 такого не было.

cast wasted, der_looser, Dimez, kinik, Unnamed, dib2.

Перемещено JB из general

 , , , ,

post-factum ()

pf-kernel со стабилизирующими патчами

Добрый день.

Возник вопрос. Можно ли собрать ядро со стабилизирующими патчами и с патчем pf-kernel. Хочу собрать 3.19.3, т.к. на ядре 3.19 есть баг, который мешает в работе, и исправлен только в 3.19.3.

 , ,

MyLittleLoli ()

Ошибка при компиляции ядра 3.19.0

После установки патча pf-kernel и выбора BFQ в качестве шедулера по умолчанию компиляция валиться с ошибкой:

kernel/power/snapshot.c:1140:14: ошибка: несовместимые типы для «saveable_highmem_page»
 struct page *saveable_highmem_page(struct zone *zone, unsigned long pfn)
              ^
In file included from kernel/power/snapshot.c:42:0:
kernel/power/power.h:280:14: замечание: здесь была предыдущая декларация «saveable_highmem_page»
 extern void *saveable_highmem_page(struct zone *z, unsigned long p);
              ^
kernel/power/snapshot.c: В функции «alloc_highmem_pages»:
kernel/power/snapshot.c:1834:3: ошибка: слишком мало аргументов в вызове функции «memory_bm_set_bit»
   memory_bm_set_bit(bm, page_to_pfn(page));
   ^
kernel/power/snapshot.c:743:6: замечание: declared here
 void memory_bm_set_bit(struct memory_bitmap *bm, int index, unsigned long pfn)
      ^
kernel/power/snapshot.c: На верхнем уровне:
kernel/power/snapshot.c:1942:14: ошибка: static-декларация «check_image_kernel» после неstatic-декларации
 static char *check_image_kernel(struct swsusp_info *info)
              ^
In file included from kernel/power/snapshot.c:42:0:
kernel/power/power.h:40:14: замечание: здесь была предыдущая декларация «check_image_kernel»
 extern char *check_image_kernel(struct swsusp_info *info);
              ^
kernel/power/snapshot.c: В функции «count_highmem_image_pages»:
kernel/power/snapshot.c:2196:2: ошибка: слишком мало аргументов в вызове функции «memory_bm_next_pfn»
  pfn = memory_bm_next_pfn(bm);
  ^
kernel/power/snapshot.c:851:15: замечание: declared here
 unsigned long memory_bm_next_pfn(struct memory_bitmap *bm, int index)
               ^
kernel/power/snapshot.c:2201:3: ошибка: слишком мало аргументов в вызове функции «memory_bm_next_pfn»
   pfn = memory_bm_next_pfn(bm);
   ^
kernel/power/snapshot.c:851:15: замечание: declared here
 unsigned long memory_bm_next_pfn(struct memory_bitmap *bm, int index)
               ^
kernel/power/snapshot.c: В функции «prepare_highmem_image»:
kernel/power/snapshot.c:2246:4: ошибка: слишком мало аргументов в вызове функции «memory_bm_set_bit»
    memory_bm_set_bit(bm, page_to_pfn(page));
    ^
kernel/power/snapshot.c:743:6: замечание: declared here
 void memory_bm_set_bit(struct memory_bitmap *bm, int index, unsigned long pfn)
      ^
kernel/power/snapshot.c: В функции «get_highmem_page_buffer»:
kernel/power/snapshot.c:2304:3: ошибка: слишком мало аргументов в вызове функции «memory_bm_next_pfn»
   tmp = pfn_to_page(memory_bm_next_pfn(safe_highmem_bm));
   ^
kernel/power/snapshot.c:851:15: замечание: declared here
 unsigned long memory_bm_next_pfn(struct memory_bitmap *bm, int index)
               ^
make[2]: *** [kernel/power/snapshot.o] Ошибка 1
make[1]: *** [kernel/power] Ошибка 2
make: *** [kernel] Ошибка 2

 , ,

splinter ()

v3.18-pf1

Вышел.

Как обычно: 3.18.7, BFS v460, BFQ v7r7, UKSM v0.1.2.3, распоследний TuxOnIce (помеченный Найджелом как нестабильный, так что be careful), а также патч для тюнинга под определённые CPU.

Анонс, патч.

wasted, der_looser, Dimez, kinik, Unnamed, dib2.

 , , , ,

post-factum ()