[d-kernel] rtlinux package

Evgeny Sinelnikov sin at altlinux.ru
Fri Jan 2 22:26:57 MSK 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> > Похоже, где-то что-то портится в памяти.  Возможно, причина в том, что
> > где-то происходит переполнение буфера, но при сборке для P4 из-за
> > большего значения CONFIG_X86_L1_CACHE_SHIFT (7, вместо 5 для 586) эти
> > данные попадают в неиспользуемые области для выравнивания, поэтому
> > ошибка остаётся незамеченной.
>
> Кстати, на схожую тему -- имеющаяся конфигурация для 2.6.0 в наших
> предварительных сборках не работает на Pentium M, совсем не работает --
> сразу после передачи управления загрузчиком ядру происходит перезагрузка
> машины.
>
> Расследование показало, что по крайней мере виноваты
> CONFIG_X86_L1_CACHE_SHIFT и CONFIG_X86_GENERIC. После этого, по крайней
> мере, дело доходит до initscripts. Правда, далее кто-то поедает всю память
> и система загрузиться до конца не может.

Тест памяти (memtest-3.0) ошибок не выявил. Хотя это и было на 192М вместо
256М (поражаюсь вашей прозорливостью - с утра машина не загрузилась в
положенные 256Мб указанные параметром ядра, BIOS, как и memtest, не
досчитались 64Мб; кстати это уже второй случай, до последнего времени я
грешил на перебои с питанием, теперь даже не знаю, что и думать, хотя
напряжение  в сети, в последние дни, тоже оставляло желать лучшего).
Попытка включить CONFIG_DEBUG_SLAB дала следующий результат:

- ----------------------------------------------------------------------------
ksymoops 2.4.9 on i686 2.4.22-rts4-up-alt13.  Options used
     -v /usr/src/RPM/BUILD/kernel-image-rts4-up-2.4.22-alt13/kernel-source-2.4.22/vmlinux (specified)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.22-rts4-up-alt13/ (default)
     -m /boot/System.map-2.4.22-rts4-up-alt13 (default)

Warning (compare_ksyms_lsmod): module reiserfs is in lsmod but not in ksyms, probably no symbols exported
CPU:    0
EIP:    0010:[<c01150b9>]    Not Tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000018   ebx: 00000000   ecx: c9ac2000   edx: cbfec764
esi: fffffe00   edi: c9ac2000   ebp: c9ac3f84   esp: c9ac3f60
ds: 0018   es: 0018   ss: 0018
Process regression.sh (pid: 1429, stackpage=c9ac3000)
Stack: c0204dde 00000000 fffffe00 c9ac2000 c011631d 00000200 00000000 c9ac2000
       00000200 c9ac3fbc c011ad6f c9ac2000 00000000 00000000 c9ac3fac 00000000
       c9ac2000 00000000 00000000 00000000 c9ac2000 c9ac20bc c9ac20bc bffff348
Call Trace:    [<c0111631d>] [<c01ad6f>] [<c0108ae7>]
Code: 0f 0b 34 02 d6 4d 20 c0 83 c4 04 8b 4d f4 c1 e1 05 81 c1 20


>>EIP; c01150b9 <schedule+4d/330>   <=====

>>ecx; c9ac2000 <_end+97ea230/c939290>
>>edx; cbfec764 <_end+bd14994/c939290>
>>edi; c9ac2000 <_end+97ea230/c939290>
>>ebp; c9ac3f84 <_end+97ec1b4/c939290>
>>esp; c9ac3f60 <_end+97ec190/c939290>

Trace; c0111631d <END_OF_CODE+b3441726a/????>
Trace; 0c01ad6f Before first symbol
Trace; c0108ae7 <system_call+47/50>

Code;  c01150b9 <schedule+4d/330>
00000000 <_EIP>:
Code;  c01150b9 <schedule+4d/330>   <=====
   0:   0f 0b                     ud2a      <=====
Code;  c01150bb <schedule+4f/330>
   2:   34 02                     xor    $0x2,%al
Code;  c01150bd <schedule+51/330>
   4:   d6                        (bad)  
Code;  c01150be <schedule+52/330>
   5:   4d                        dec    %ebp
Code;  c01150bf <schedule+53/330>
   6:   20 c0                     and    %al,%al
Code;  c01150c1 <schedule+55/330>
   8:   83 c4 04                  add    $0x4,%esp
Code;  c01150c4 <schedule+58/330>
   b:   8b 4d f4                  mov    0xfffffff4(%ebp),%ecx
Code;  c01150c7 <schedule+5b/330>
   e:   c1 e1 05                  shl    $0x5,%ecx
Code;  c01150ca <schedule+5e/330>
  11:   81 c1 20 00 00 00         add    $0x20,%ecx

 <0>Kernel panic: Aiee, killing interrupt handler!

1 warning issued.  Results may not be reliable.
- ----------------------------------------------------------------------------

Не знаю насколько это показательно, потому что самая частая
ошибка выглядит так (предыдущая была первой, но появилась
всего лишь однажды):

- ----------------------------------------------------------------------------
ksymoops 2.4.9 on i686 2.4.22-rts4-up-alt13.  Options used
     -v /usr/src/RPM/BUILD/kernel-image-rts4-up-2.4.22-alt13/kernel-source-2.4.22/vmlinux (specified)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.22-rts4-up-alt13/ (default)
     -m /boot/System.map-2.4.22-rts4-up-alt13 (default)

Warning (compare_ksyms_lsmod): module reiserfs is in lsmod but not in ksyms, probably no symbols exported
Oops: 0007
CPU:    0
EIP:    0023:[<08072650>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: 080cfd88   ecx: 080cb008   edx: 00000000
esi: 00000000   edi: 080caa08   ebp: bffff1f8   esp: bffff1d0
ds: 002b   es: 002b   ss: 002b
Process regression.sh (pid: 1958, stackpage=c5b17000)
 <0>Kernel panic: Aiee, killing interrupt handler!
Warning (Oops_read): Code line not seen, dumping what data is available


>>EIP; 08072650 Before first symbol   <=====


2 warnings issued.  Results may not be reliable.

PS: Какой смысл имеет значение CONFIG_X86_L1_CACHE_SHIFT? Для чего оно
используется? Если я правильно понял, в данном случае, оно определяет
выравнивание на 16 и 64 байта. Это верно? Где это может быть критично?

- -- 
Sin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/9cYMHC/AO6kh2soRAjnEAJwKZspBBiFy0VpaaEuUJBea7l59JQCg2H4F
muGlAfONAzPXblcruNERIGM=
=o2fF
-----END PGP SIGNATURE-----


More information about the devel-kernel mailing list