On Wednesday 04 August 2004 15:48, Nikolay Tenev wrote: > On Wednesday 04 August 2004 15:39, Georgi Chorbadzhiyski wrote: > > Интересно как изобщо е тръгнало да зарежда модулите след като не са били > > компилирани със SMP поддръжка? > > Не мога да ти дам смислен отговор, но факт беше че ги зарежда (modprobe, > lsmod). Чупеше се когато трябва да се извърши нещо през самия модул > (ifconfig, ping). При USB модулите падаше при зареждането им, но там може > би след зареждането извършва някаква проверка за USB устройства.
Ами според мен такава ситуация за проверка при/преди зареждането на модулите просто не се отработва от имиджа и съответно от модулите, който не докладват такава дали са билднати с SMP_CONFIG;-) Доколкото гледам грепвайки в сорса на 2.4 ( за 2.6 не съм гледал ), никъде няма имплементирана проверка, че точно при _зареждане_ на модул се гледа дали той е бил билднат с CONFIG_SMP и съответно без усилие си зареждаш модули "с и без SMP идея" като впоследствие в процеса на работа се достига до логическа SMP грешка или те излавят с красивата функция BUG(). Освен това няма такива модули който да си казват дали са smp-built или не експотрвайки някакви символи така, че kernel image и потребителя въоръжен с modinfo <module> да могат да ги проверят при/преди зареждане. И например имиджа да може да ти каже: "сори, аз съм smp built image, а този модул не ми репортва, че има идея какво е това"... Иначе може да се имплементира и такава проверка (особено ще е полезна за модулите които не идват със сорса на ядрото) при/преди зареждане проверка аналогично на MODULE_AUTHOR, MODULE_DESCRIPTION, MODULE_LICENSE, само, че сега в сорса на модула: #ifdef CONFIG_SMP прави нещо за да обади, че е smp-built #endif и вече имайки тази информация да се прави проверка и от самия имидж както се прави и такава за MODULE_LICENSE и аналогични, който да те информира/предупреждава/плаши и т.н. , дали форсирано ще искаш да се прободеш в долна дясна подбедрица зареждайки non-smp-built module в smp-aware kernel image, тъй както съвсем съзнателно можеш да си taint-неш имиджа зареждайки модули който не репортват, че са с MODULE_LICENSE ("GPL"); като красивия откъм лиценз кърнъл модул на nvidia ;-) ... той знае как да работи на SMP, ако се налага, но не го обажда, щото няма имидж който да го провери и си бачкат си на взаимно доверие ;-) -- pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu ; pgp.mit.edu> fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB ============================================================================ A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html ============================================================================