>> Unpacking linux-4.9.tar.xz to /var/tmp/portage/sys-kernel/gentoo-sources-4.9.8/work* Excluding Patch #5000_enable-additional-cpu-optimizations-for-gcc.patch ... [ ok ]
* Failed to dry-run patch genpatches-4.9-10.base.tar.patch
* Please attach /var/tmp/portage/sys-kernel/gentoo-sources-4.9.8/temp/genpatches-4.9-10.base.tar.err to any bug you may post.
* ERROR: sys-kernel/gentoo-sources-4.9.8::gentoo failed (unpack phase):
* Unable to dry-run patch on any patch depth lower than 5.
Не то, чтобы добавить utf8=0 было так сложно. Но, блин, нафига они ломают работавшэе?
kernelnewbies.org
make localmodconfig посоны !
make localmodconfig посоны !
PS Я как-то пытался лет почти 20 назад этим пользоваться. Оно было дажэ в общем юзабельно, только в общем обладало всеми недостатками SLIP при дальности передачи в два метра. Безсмысленно как-то.
Вот так, простой финский программист, спас планету от порабощения роботами.
Стоит указать, что у разработчиков ядра отсутствует какое-либо тестирование того, что они делают, а большую часть времени т.н. "обсуждений патчей" в списке рассылки они тратят на сексистские, расистские и гомофобные оскорбления друг друга. Эта удивительная ситуация, что характерно, в садомазохистской иерархии разработчиков ядра устраивает почти всех.
but "by design". Namely that mutexes aren't truly "atomic". They are
complex data structures, and they have issues that a spinlock does not
have.
When unlocking a mutex, the thread doing the unlocking will still
touch the mutex itself after another thread could already have
successfully acquired the mutex. This is not a problem in any normal
use. since all of this is perfectly coherent in general, but it means
that code sequences like:
mutex_lock(mem->mutex);
kill_it = !--mem->refcount;
mutex_unlock(mem->mutex);
if (kill_it)
free(mem);
are fundamentally buggy.
Note that if you think of mutexes as truly indivisible atomic
operations, the above is "obviously correct": the last person who got
the mutex marked it for killing. But the fact is, the next-to-last
mutex acquirer may still actively be in the non-indivisible
mutex_unlock() when the last person frees it, resulting in a
use-after-free. And yes, we've had this bug, and as far as I know it's
possible that the RT code introduces this bug when it changes
spinlocks into mutexes. Because we do exactly the above code sequence
with spinlocks. So just replacing spinlocks with mutexes is a very
subtly buggy thing to do in general.
>
from Linus Torvalds lkml.org
stackoverflow.com
неужели до сих пор не придумали?
неужели до сих пор не придумали?
Protected Processes Part 3 : Windows PKI Internals (Signing Levels, Scenarios, Root Keys, EKUs & Runtime Signers)
alex-ionescu.com
— а как включить EPT?
— тыры-пыры, типа так и так, надо это проверить и т.п.
— ай, блять, мне нужно было включить Nx, я перепутал.
/facepalm
"The name mutant has a colorful history. Early in Windows NT's development, Dave Cutler created a kernel mutex object that implemented low-level mutual exclusion. Later he discovered that OS/2 required a version of the mutual exclusion semaphore with additional semantics, which Dave considered "brain-damaged" and which was incompatible with the original object. (Specifically, a thread could abandon the object and leave it inaccessible.) So he created an OS/2 version of the mutex and gave it the name mutant. Later Dave modified the mutant object to remove the OS/2 semantics, allowing the Win32 subsystem to use the object. The Win32 API calls the modified object mutex, but the native services retain the name mutant."
blogs.msdn.com
Оффсеты стащил у WindRiver : marc.info , но целый день читать datasheets and whitepapers всё равно пришлось.
Из срача, сопровождавшего патч в linux-arm-kernel вытащил волшебное определение:
"Pointless. Useless. Stupid. And unnecessarily complex for no reason what so ever".
В нормальной жизни такие настройки лучше не использовать
# Когда область грязных страниц заполнится на этот процент начать сброс буферов
vm.dirty_background_ratio = 50
# Такой процент системной памяти может быть использован под грязные страницы
vm.dirty_ratio = 80
# После данного времени, в сотых секунды осуществляется сброс на диск. По умолчанию 3000.
vm.dirty_expire_centisecs = 360000
Источники:
docs.neo4j.org
kernel.org
CONFIG_SCHED_AUTOGROUP
оно автоматически раскидывает процессы по группам планировщика на основании сессий. На первый взлдяд логично ее включить, но выясняется, что это приводит к тому, что emerge, запущенный в найсе 19 оказывается в своей собственной группе планирования (ибо другой пользователь) и умудряется выталкивать пользовательские процессы с более низким найсом 0. В целом все выглядит так, будто найс учитывается только в пределах группы процессов, а между группами время процессора делится поровну, вобщем, я решил это выключить. Выключить можно и динамически
sysctl kernel.sched_autogroup_enabled = 0
Это те самые, подписанные, для UEFI c secure boot, я правильно понял?
Processor family
25. Intel Atom (MATOM)
Sep 18 16:07:56 cyberstep kernel: [184448.307460] hello yoba
Sep 18 16:08:03 cyberstep kernel: [184455.811845] goodbye yoba
Судя по исходникам, лок на цгруппах не стоит:
lxr.free-electrons.com
Судя по выводу ps процесс вполне обычный, но модификация цгрппы через echo $$ > /sys/fs/cgroup/foo/bar/task приводит к invalid argument. замена $$ на 0, тоже не помогает.
Куда можно копать?
P.S. (последний тег, чтобы больше народу скастовать).
P.P.S. я знаю как обойти этот вопрос запустив демона в userspace, но мне не нравится такой вариант.
mount -t tmpfs --make-shared test test
for i in `seq 10`; do mount --bind test test; done
cat /proc/self/mountinfo | grep test | wc -l
pastebin.com Что за Nested panic, может кто-нибудь рассказать?
Тело Fly IQ451 При загрузке ядра происходит нечто и перезагрузка (нет фреймбуфера при загрузке, поэтому нифига не видно). В last_kmesg это: commit 3a948de76cd625264c6fbea172a51cf5d76cd12b
Author: Linus Torvalds <torvalds@ppc970.osdl.org>
Date: Thu Jun 17 18:23:45 2004 -0700
Fix kill_pg_info(): return success if any signal succeeded.
Вывод dmesg:
<6>[38995.640000] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
<6>[38995.670000] usb 1-1: Detected FT232RL
<6>[38995.670000] usb 1-1: Number of endpoints 2
<6>[38995.670000] usb 1-1: Endpoint 1 MaxPacketSize 64
<6>[38995.680000] usb 1-1: Endpoint 2 MaxPacketSize 64
<6>[38995.680000] usb 1-1: Setting MaxPacketSize 64
<6>[38995.690000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
Плюс на том же планшетнике стоит Linux Deploy и под ним работает debian stable. Теперь можно будет рулить девайсами, подключенными к юсб хосту прямо из него, а это открывает такой простор для прочих забав... Например, можно поставить полноценную версию python, gcc для AVR или ещё чего-нибудь, поставить vim со всеми момими конфигами и плагинами и разрабатывать прямо на планшете, цепляясь к нему по ssh.
P.S.: Да, я знаю, что я задрот, но я счастлив.
P.P.S.: Теперь ещё к нему можно собрать модуль для подключения по BT джойстика от SPS3. :))
сижу патчу.