The Diary
Дневникът на Георги
<- Вторник, 8 Януари 2008 | Начална страница | Четвъртък, 10 Януари 2008 ->
Сряда, 9 Януари 2008
Premature optimization is the root of all evil -- Knut.
Хем горното го знам, хем редовно се застрелвам в крака с някоя глупост като тази дето открих днес. Преди няколко дни компилирах ядро за машина, която ще е с малко дисково пространство и ми се щеше да спестя от ядрото колкото се може повече. В цялото пестене пипах и изключих доста опции зависещи от CONFIG_EMBEDED и с цялата си глупост съм изключил поддръжката на futexes. Което по-принцип не е лошо стига да нямаш glibc компилирано с futex поддръжка и библиотеката ги ползва активно. Всичко работи, само дето като пуснеш Firefox и процесора стои на 100% в busy loop.
Много съм проЗт, два дни се псувам заради тази глупост. Отгоре на това от мързел не бях качил strace, иначе проблема се забелязва за секунда като пуснеш strace -p PID_NA_PROGRAMATA и видиш как се опитва да вика futex функциите и понеже получава -ENOTSUPP започва да ползва чудесен busy loop за чакане.
Да са .... в оптимизатора.
[ Коментари: 3 ]Коментари
Да, проблема беше че ползвам много ново glibc компилирано с тяхна поддръжка.
То май при всяка оптимизация това е проблем... преоптимизиране ;)
Disclaimer: Except where otherwise noted all opinions expressed here are personal
opinions of the author and do not reflect official opinions of my employer or
any other person, company or organization associated with the author.
Copyright: Except where otherwise noted the content of this site is licensed under a
Creative Commons Attribution License. Текстът на договора за ползване на български
Copyright (cc) 2003-2011 Georgi Chorbadzhiyski. Some rights reserved.
Comments, texts and pictures not signed by me are property of their respective owners.
Страницата е генерирана от Glog v3.99-test
Програмите обикновено не викат директно futex syscalls, освен ако девелоперите им не са отчайващо трудолюбиви да си направят собствени locking/sync механизми и нямат доверие на glibc :)
Написа gat3way на 12-Jan-2008 11:42