Как стать автором
Обновить
12
0
Vlad Bespalov @win32asm

Ядерный пользователь

Отправить сообщение
О, а про alt-h я не знал (или, скорее, забыл). Спасибо. 8-)
5 копеек про дропдаун в mc: по нему можно гонять через CTRL-Up/Down
Но не везде.
в SLES12 (mc 4.8.11), RH7 (4.8.7), RH6 (4.7.0.2), ubuntu14 (mc 4.8.11) — можно, SLES11 (mc 4.6.2) — не получается. 8-)
По виду эту фичу где-то в mc 4.7 прикрутили.
конема управляет табами, в табах фар и mintty
mintty запускает баш от вингита, и в принципе служит только для запуска ssh — а все локальные задачи выполняются в фаре.
Это не совсем MC, это терминал.
По спецификации VT102 должны быть непечатные символы для разнообразной фигни типа управления терминалом, цветами, положением на экране и всё такое — http://man7.org/linux/man-pages/man4/console_codes.4.html
MC не пытается перехватывать эти коды и работает на том, что до него докатывается. 8-)

Но Far/win + MC/lin это, конечно, боль.
Меня вот только ConEmu + mintty как-то спасают. 8-)
Мнэ. Давайте не будем смешивать сладкое с твёрдым.

Живопись, любовь, поэзия и пр. не гарантируют повторимого результата — в отличие от гомеопатии. И этим знание ненаучное как бы и отличается от научного.
Мне нравится Люлли, и не нравится Корелли — что, все его ноты уничтожить? А есть те, которые думают наоборот…

Гомеопатия же претендует на повторимость результатов (люди выздоравливают) при неповторимости процесса лечения.
Такая формулировка несколько обессмысливает существующие статистические методы анализа. Но если бы излечимость была выше, чем в доказательной медицине — это всё же было бы заметно из той же статистики.
А современные статисследования дают ту же вероятность, что и плацебо. Т.о. опровергают постулируемую повторимость.

Про Н.Бехтереву: Описание опыта выглядит наукообразно, корректность проведения оставим на её совести, но выводы мягко говоря преждевременны. У Фейнмана в науке самолётопоклонников есть пара абзацев о работе с крысами и лабиринтом. КМК они сюда идеально подходят.
ну да, вызовов собственно spin_lock*() в трейсах не будет, но сам спинлок будет «кривой» (верхнее слово не равно нижнему), и обычно (иногда?) по «верхней» функции в трейсе можно догадаться, не могла ли именно эта фн его забрать.
Если работа со спинлоком «разнесена», как в iget_locked() / unlock_new_inode(), то приходится смотреть ещё на пару уровней «в ширину». Но КМК хорошим стилем является отпускать спинлок в той же фн, где он взят.
Мнда, мне ещё копать и копать ядро — про тасклеты читал, но вспомнил только сейчас. Пошел перечитывать https://habrahabr.ru/company/embox/blog/244071/ 8-\

Я исходил из предположения, что спинлок должен быстро отдаваться, а если он не отдаётся быстро — то в стеке одного из «рабочих тредов/тасков» будет функция, которая и забрала спинлок. Ну и если в этот момент сделать BUG(), то при анализе работающих процессов должно быть очевидно, кто этот спинлок держит.

Скрипт тут: https://gist.github.com/win32asm/96dca779362bbd04a1730b109e452fce
Мне очень помогает при дебаге ядерного модуля. 8-)
Хм. А по списку «живых» процессов не было очевидно, кто зохавал спинлок? Или соответствующий процесс забирал спинлок и забывал отдать?
Могу поделиться «фильтром процессов» для крэша — оно выкидывает спящие и консольные процессы, и объединяет одинаковые стектрейсы.
Александреску давно возмущался несовершенством мира вообще и форматирования строк в С++ в частности — https://erdani.com/publications/cuj-2005-08.pdf (ссылки на код в статье битые 8-( )
Учитывая что воз и ныне там, кажется, на эту фичу слегка подзабили. Правда я в С++14/17 не вчитывался на эту тему…
вопрос знатокам: если известно, что дело где-то в кернеле, почему бы не использовать /proc/<pid>/stack вместо gdb?
в линухе лучше пользоваться не fdisk-ом а parted-ом — fdisk только «недавно» GPT научили.
parted mktable gpt
А ещё есть адово минималистичная http://www.includeos.org/
Я бы посоветовал у ttyUSB0 дополнительно что-нибудь проверять — серийник, симлинк или тот же VID/PID.
Будет неприятно, если какое-то другое USB-Serial устройство — не модем — будет забрано ppp демоном.

Но общий подход, несомненно, верен. Спасибо. 8-)
На том же сайте есть ещё несколько ежегодных 18х конференций ICCS`16: 18th International Conference on Consciousness Science, 18th International Conference on Chemistry and Spectroscopy, 18th International Conference on Chinese Studies…
Что-то тут не так… 8-)
Probably even a «senior sw eng». But that doesn`t change the thrills you get from coding a really good piece of sw (and disappointment from providing a fix that works just within given requirements) — at least that`s how i get akosma `s message.
ну, locale C уже есть, дело за малым… 8-)
botanic@botfang:~$ cat /proc/cpuinfo | grep -wm1 Intel
model name: Intel® Core(TM) i7-4810MQ CPU @ 2.80GHz

опции везде -std=c++11 -O3 -lstdc++

botanic@botfang:~/source/other/fastest_algorithm$ clang -v
Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0)

botanic@botfang:~/source/other/fastest_algorithm$ ./BranchFreeTimeout
sign: -0.00 vs -0.00
abs: -0.00 vs -0.00
mini: -0.00 vs -0.00
maxi: -0.00 vs -0.00
minu: -0.00 vs -0.00
maxu: -0.00 vs -0.00
2147483648
botanic@botfang:~/source/other/fastest_algorithm$ ./BranchFreeTimeoutNew
sign: 9.63 vs 0.69
abs: 0.50 vs 0.25
mini: 1.03 vs 2.10
maxi: 0.98 vs 2.27
minu: 1.14 vs 2.16
maxu: 0.87 vs 2.25
2147483646

botanic@botfang:~/source/other/fastest_algorithm$ gcc -v

gcc version 4.9.2 (Debian 4.9.2-10)
botanic@botfang:~/source/other/fastest_algorithm$ ./BranchFreeTimeout
sign: 3.61 vs 1.90
abs: 1.16 vs 1.23
mini: 1.64 vs 2.91
maxi: 1.64 vs 2.32
minu: 1.86 vs 1.14
maxu: 1.62 vs 1.94
2147483646
botanic@botfang:~/source/other/fastest_algorithm$ ./BranchFreeTimeoutNew
sign: 9.85 vs 0.72
abs: 9.77 vs 0.37
mini: 0.60 vs 0.98
maxi: 0.60 vs 0.99
minu: 11.09 vs 1.02
maxu: 0.62 vs 1.03
2147483646

вне программы кланг с -O1 (-O2 тоже был неверно понят):
botanic@botfang:~/source/other/fastest_algorithm$ ./BranchFreeTimeout
sign: 7.38 vs 5.86
abs: 4.74 vs 5.82
mini: 5.83 vs 7.06
maxi: 5.84 vs 6.41
minu: 5.82 vs 8.18
maxu: 5.89 vs 6.99
2147483646
Как мне кажется, это довольно обидно, когда твой компьютер тебе не принадлежит, и ведёт себя своей собственной загадочной (а тем более — криминальной) жизнью. Так что в подобных кейсах я на стороне «быдло-руководства из быдло-депутатов». 8-\
понятно, что в
if (err == ERR_OK || err != ERR_PENDING)…
можно спокойно убрать кусок с ERR_OK, но КМК иногда это может быть «документацией», что обрабатываем, например, «хороший» и «плохие» сценарии, а «злой», в смысле асинхронный, будет, например, где-то ещё.
Что в общем не должно мешать оторвать руки человеку, придумавшему такой API. 8-)

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность