lkml.org 
[lkml]   [1997]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectFun with pre-2.1.37-4 =)
Just booted pre-2.1.37-4 for the heck of it, and noticed that my system
seemed to be _really_ slow. Thanks to the good offices of Alt+ScrLock, I
found that it was spending an inordinate amount of time at 0xc010584c in
here:

/usr/src/linux/include/asm/system.h:191
/*
* Note: no "lock" prefix even on SMP: xchg always implies lock anyway
*/
static inline unsigned long __xchg(unsigned long x, void * ptr, int size)
{
c010854c: 31 c0 xorl %eax,%eax
/usr/src/linux/include/asm/system.h:212
switch (size) {
case 1:
__asm__("xchgb %b0,%1"
:"=q" (x)
:"m" (*__xg(ptr)), "0" (x)
:"memory");
break;
case 2:
__asm__("xchgw %w0,%1"
:"=r" (x)
:"m" (*__xg(ptr)), "0" (x)
:"memory");
break;
case 4:
__asm__("xchgl %0,%1"
:"=r" (x)
:"m" (*__xg(ptr)), "0" (x)
:"memory");
break;
}
return x;
c010854e: 89 c3 movl %eax,%ebx
c0108550: 87 1d 04 38 1c xchgl %ebx,0xc01c3804
c0108555: c0

In my /usr/src/linux/Makefile, I remembered to set SMP = 0, but when it
still compiled with __SMP__, I commented it out, and it went away, and I
was happy. I suspect that that may be my problem, but nonetheless I shall
enthrall you all with the gory details. =)

It also seemed to be spending a lot of time at 0xc01084bf in hard_idle():

if (hlt_works_ok && !hlt_counter) {
c01084ac: 80 3d cb 35 1c cmpb $0x0,0xc01c35cb
c01084b1: c0 00
c01084b3: 74 0a je c01084bf <hard_idle+1f>
c01084b5: 83 3d 7c 2f 1c cmpl $0x0,0xc01c2f7c
c01084ba: c0 00
c01084bc: 75 01 jne c01084bf <hard_idle+1f>
/usr/src/linux/arch/i386/kernel/process.c:86
#ifdef CONFIG_APM
/* If the APM BIOS is not enabled, or there
is an error calling the idle routine, we
should hlt if possible. We need to check
need_resched again because an interrupt
may have occurred in apm_do_idle(). */
start_bh_atomic();
if (!apm_do_idle() && !need_resched)
__asm__("hlt");
end_bh_atomic();
#else
__asm__("hlt");
c01084be: f4 hlt
/usr/src/linux/arch/i386/kernel/process.c:89
#endif
}
if (need_resched)
c01084bf: 83 3d 40 38 1c cmpl $0x0,0xc01c3840
c01084c4: c0 00
c01084c6: 75 0e jne c01084d6 <hard_idle+36>
/usr/src/linux/arch/i386/kernel/process.c:91
break;
schedule();
c01084c8: e8 23 6f 00 00 call c010f3f0 <schedule>
/usr/src/linux/arch/i386/kernel/process.c:92
}
c01084cd: 83 3d 40 38 1c cmpl $0x0,0xc01c3840
c01084d2: c0 00
c01084d4: 74 d6 je c01084ac <hard_idle+c>

Below you can find a copy of my .config. Feel free to ask for any other
additional details you may find relevant to this. =)

Enjoy!

--
J. S. Connell | Systems Adminstrator, ICONZ. Any opinions stated above
ankh@canuck.gen.nz | are not my employers', not my boyfriends', my God's, my
ankh@iconz.co.nz | friends', and probably not even my own.
-------------------+---------------------------------------------------------
PGP key at http://www.canuck.gen.nz/~ankh/pgpkey.html

CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_M486=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_ACCT=y
CONFIG_NET_IPIP=m
CONFIG_IP_MROUTE=y
CONFIG_IP_ALIAS=y
CONFIG_INET_RARP=m
CONFIG_PATH_MTU_DISCOVERY=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y
CONFIG_PPP=y
CONFIG_SHAPER=m
CONFIG_MINIX_FS=m
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
CONFIG_NFSD=m
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_ISO9660_FS=m
CONFIG_UFS_FS=m
CONFIG_BSD_DISKLABEL=y
CONFIG_SMD_DISKLABEL=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SOUND=y
CONFIG_SB=y
CONFIG_ADLIB=y
CONFIG_YM3812=y
SBC_BASE=230
SBC_IRQ=5
SBC_DMA=1
SB_DMA2=5
SB_MPU_BASE=330
SB_MPU_IRQ=-1
CONFIG_PROFILE=y
CONFIG_PROFILE_SHIFT=2


\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.043 / U:0.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site