2005-09-06 21:10:32

by Frank van Maarseveen

[permalink] [raw]
Subject: 2.6.13 SMP on AMD Athlon64 X2 + FC4: PS/2 keyboard b0rken; taskset/sched_setaffinity() saves the day!

While playing with a new AMD Athlon64 X2 3800+ (i386) the keyboard goes
wild for 10 (20?) seconds, behaves normally for 10 (20?) seconds, and
then goes wild again: when "wild", every keypress results in a random
number of repeats, e.g.:

$ pppsss aaxxxuuuuuuuuuuu
bash: pppsss: command not found
$
$
$
$
$
$
$
$

Upgrading Xorg to xorg-x11-6.8.2-37.FC4.45 did not help.

Booting with "nosmp" seems to fix it. And this _seems_ to fix it too:

taskset -p 1 `ps axo comm,pid|awk '$1=="X"{print $2}'`

I haven't seen this problem on the console.

The taskset work-around does not work when PnP OS is set to true in the
BIOS. I've compared kernel messages with- and without PnP set to true
but didn't see any interesting difference though.

The 2.6.11-1.1369_FC4smp kernel shows the same problem but the taskset
fix doesn't work there. Also, that kernel has the "LOC" interrupt
completely gone wild for both CPUs and occasionally crashes so lets
forget about that.

memory is good (1TB disk copy/md5summing + 150 kernel builds did not
reveal any problem). kernel has no modules, no proprietary drivers,
compiled with "gcc32" (3.2.3 20030502) instead of 4. An earlier
reported hangcheck/nanosleep/clock problem is gone right now for some
unknown reason.

lspci:

00:00.0 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800/K8T890 South]
00:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
00:08.0 RAID bus controller: Promise Technology, Inc. PDC20378 (FastTrak 378/SATA 378) (rev 02)
00:09.0 Network controller: RaLink Ralink RT2500 802.11 Cardbus Reference Card (rev 01)
00:0a.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01)
01:00.1 Display controller: ATI Technologies Inc: Unknown device 5940 (rev 01)

kernel boot parameters: ro root=/dev/md1 apm=power-off

config:

CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_SYSCTL=y
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_BASE_SMALL=0

CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

CONFIG_X86_PC=y
CONFIG_MK8=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_SMP=y
CONFIG_NR_CPUS=32
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREEMPT_BKL=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_MSR=y

CONFIG_HIGHMEM4G=y
CONFIG_HIGHMEM=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_MTRR=y
CONFIG_IRQBALANCE=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_SECCOMP=y
CONFIG_HZ_250=y
CONFIG_HZ=250
CONFIG_PHYSICAL_START=0x100000
CONFIG_KEXEC=y

CONFIG_PM=y


CONFIG_APM=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_RTC_IS_GMT=y


CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_ISA_DMA_API=y



CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y

CONFIG_NET=y

CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIB_HASH=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TUNNEL=y
CONFIG_IP_TCPDIAG=y
CONFIG_TCP_CONG_ADVANCED=y

CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_SCALABLE=y

CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_BRIDGE_NETFILTER=y

CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_CT_ACCT=y
CONFIG_IP_NF_CONNTRACK_MARK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IRC=y
CONFIG_IP_NF_TFTP=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH_ESP=y
CONFIG_IP_NF_MATCH_LENGTH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_TCPMSS=y
CONFIG_IP_NF_MATCH_HELPER=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_CONNTRACK=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_PHYSDEV=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_MATCH_REALM=y
CONFIG_IP_NF_MATCH_COMMENT=y
CONFIG_IP_NF_MATCH_CONNMARK=y
CONFIG_IP_NF_MATCH_HASHLIMIT=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_IP_NF_TARGET_TCPMSS=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_SAME=y
CONFIG_IP_NF_NAT_SNMP_BASIC=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_NAT_TFTP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_DSCP=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_CLASSIFY=y
CONFIG_IP_NF_TARGET_CONNMARK=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_TARGET_NOTRACK=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y

CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_ULOG=y

CONFIG_BRIDGE=y
CONFIG_LLC=y
CONFIG_LLC2=y
CONFIG_NET_CLS_ROUTE=y



CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y


CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_1284=y


CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_LBD=y
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8

CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y

CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y

CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y

CONFIG_SCSI=y

CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y

CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_PROMISE=y
CONFIG_SCSI_QLA2XXX=y

CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID5=y
CONFIG_MD_FAULTY=y
CONFIG_BLK_DEV_DM=y




CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_TUN=y


CONFIG_NET_ETHERNET=y
CONFIG_MII=y

CONFIG_NET_PCI=y
CONFIG_8139TOO=y

CONFIG_R8169=y
CONFIG_SK98LIN=y




CONFIG_PLIP=y
CONFIG_PPP=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPPOE=y
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y



CONFIG_INPUT=y

CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y

CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y

CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_NR_UARTS=4

CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_PRINTER=y


CONFIG_HW_RANDOM=y
CONFIG_NVRAM=y
CONFIG_RTC=y

CONFIG_AGP=y
CONFIG_AGP_ATI=y
CONFIG_DRM=y
CONFIG_DRM_RADEON=y


CONFIG_I2C=y

CONFIG_I2C_ALGOBIT=y

CONFIG_I2C_ISA=y
CONFIG_I2C_SENSOR=y



CONFIG_HWMON=y
CONFIG_SENSORS_LM78=y
CONFIG_SENSORS_W83627HF=y




CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y

CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_7x14=y

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_CLUT224=y

CONFIG_SOUND=y

CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_RTCTIMER=y

CONFIG_SND_MPU401_UART=y

CONFIG_SND_AC97_CODEC=y
CONFIG_SND_VIA82XX=y



CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y
CONFIG_USB_UHCI_HCD=y

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y




CONFIG_USB_MON=y









CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y

CONFIG_ROMFS_FS=y
CONFIG_INOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS4_FS=y

CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y

CONFIG_CRAMFS=y

CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y

CONFIG_MSDOS_PARTITION=y

CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-15"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_UTF8=y

CONFIG_PROFILING=y
CONFIG_OPROFILE=y

CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_DEBUG_SLAB=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_FS=y
CONFIG_FRAME_POINTER=y
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_KPROBES=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y


CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_TEST=y


CONFIG_CRC_CCITT=y
CONFIG_CRC32=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_PC=y

--
Frank


2005-09-06 23:13:35

by Daniel Jacobowitz

[permalink] [raw]
Subject: Re: 2.6.13 SMP on AMD Athlon64 X2 + FC4: PS/2 keyboard b0rken; taskset/sched_setaffinity() saves the day!

On Tue, Sep 06, 2005 at 11:10:29PM +0200, Frank van Maarseveen wrote:
> While playing with a new AMD Athlon64 X2 3800+ (i386) the keyboard goes
> wild for 10 (20?) seconds, behaves normally for 10 (20?) seconds, and
> then goes wild again: when "wild", every keypress results in a random
> number of repeats, e.g.:
>
> $ pppsss aaxxxuuuuuuuuuuu
> bash: pppsss: command not found
> $
> $
> $
> $
> $
> $
> $
> $
>
> Upgrading Xorg to xorg-x11-6.8.2-37.FC4.45 did not help.
>
> Booting with "nosmp" seems to fix it. And this _seems_ to fix it too:
>
> taskset -p 1 `ps axo comm,pid|awk '$1=="X"{print $2}'`
>
> I haven't seen this problem on the console.

This is probably the same problem as the earlier one you reported. If
you take a look at bugzilla, you'll see that the normal manifestation
is messed up key repeat rates...

--
Daniel Jacobowitz
CodeSourcery, LLC

2005-09-10 13:22:15

by Frank van Maarseveen

[permalink] [raw]
Subject: 2.6.13 SMP on AMD Athlon X2 (i386): time anomalies

New food for bugzilla #5105 (I'll stick it there too). stracing xclock
on the system with _zero_ load shows time warps and even time going
backward! The xclock itself occasionally gets stuck and then jumps
multiple seconds at once.

There are many other anomalies, e.g. the Xorg screenblank should operate
after 300 seconds but it does much earlier, seemingly with a random
interval: 15 seconds, 38 second, 50 seconds.

system wall clock seems ok now which is kind of surprising.

booting with nosmp fixes it but that's no fun anymore.

There should be a lot of people noticing these kind of anomalies: it is
not a recent regression but it seems to show up only on AMD Athlon64 X2
(SMP), for both i386 and x86_64.

strace -tt -p 2208
Process 2208 attached - interrupt to quit
15:00:44.175424 select(4, [3], [], [], {0, 684000}) = 0 (Timeout)
15:00:46.999608 gettimeofday({1126357246, 999713}, NULL) = 0
15:00:46.999734 gettimeofday({1126357246, 999792}, NULL) = 0
15:00:46.999853 gettimeofday({1126357246, 999910}, NULL) = 0
15:00:46.999978 ioctl(3, FIONREAD, [0]) = 0
15:00:47.000110 write(3, ">\n\7\0\f\0\340\0\v\0\340\0\7\0\340\0\0\0\0\0\0\0\0\0\0"..., 28) = 28
15:00:47.000261 ioctl(3, FIONREAD, [0]) = 0
15:00:44.856241 gettimeofday({1126357244, 856298}, NULL) = 0
15:00:44.856355 select(4, [3], [], [], {2, 143612}) = 0 (Timeout)
15:00:49.143862 gettimeofday({1126357249, 143964}, NULL) = 0
15:00:49.144024 gettimeofday({1126357249, 144111}, NULL) = 0
15:00:49.144167 gettimeofday({1126357249, 144252}, NULL) = 0
15:00:49.144431 ioctl(3, FIONREAD, [0]) = 0
15:00:47.000441 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\10\0\24\0E\0(\0\233\6\5\0\r"..., 8980) = 8980
15:00:47.000660 ioctl(3, FIONREAD, [0]) = 0
15:00:47.000789 gettimeofday({1126357247, 871}, NULL) = 0
15:00:47.000920 select(4, [3], [], [], {2, 998381}) = 0 (Timeout)
15:00:50.001238 gettimeofday({1126357250, 1340}, NULL) = 0
15:00:50.001399 gettimeofday({1126357250, 1486}, NULL) = 0
15:00:50.001540 gettimeofday({1126357250, 1626}, NULL) = 0
15:00:50.001807 ioctl(3, FIONREAD, [0]) = 0
15:00:50.001949 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\f\0\24\0A\0(\0\233\6\5\0\r"..., 8980) = 8980
15:00:50.002170 ioctl(3, FIONREAD, [0]) = 0
15:00:50.002298 gettimeofday({1126357250, 2381}, NULL) = 0
15:00:50.002430 select(4, [3], [], [], {0, 997245}) = 0 (Timeout)
15:00:51.001328 gettimeofday({1126357251, 1435}, NULL) = 0
15:00:51.001491 gettimeofday({1126357251, 1577}, NULL) = 0
15:00:51.001631 gettimeofday({1126357251, 1727}, NULL) = 0
15:00:51.001981 ioctl(3, FIONREAD, [0]) = 0
15:00:51.002131 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\16\0\24\0?\0(\0\233\6\5\0\r"..., 8980) = 8980
15:00:51.002276 ioctl(3, FIONREAD, [0]) = 0
15:00:51.002347 gettimeofday({1126357251, 2402}, NULL) = 0
15:00:51.002418 select(4, [3], [], [], {0, 997325}) = 0 (Timeout)
15:00:52.001454 gettimeofday({1126357252, 1557}, NULL) = 0
15:00:52.001624 gettimeofday({1126357252, 1681}, NULL) = 0
15:00:52.001697 gettimeofday({1126357252, 1752}, NULL) = 0
15:00:52.001891 ioctl(3, FIONREAD, [0]) = 0
15:00:52.001965 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\20\0\24\0=\0(\0\233\6\5\0\r"..., 8980) = 8980
15:00:52.002107 ioctl(3, FIONREAD, [0]) = 0
15:00:52.002178 gettimeofday({1126357252, 2233}, NULL) = 0
15:00:52.002249 select(4, [3], [], [], {0, 997519}) = 0 (Timeout)
15:00:53.001569 gettimeofday({1126357253, 1672}, NULL) = 0
15:00:53.001738 gettimeofday({1126357253, 1795}, NULL) = 0
15:00:53.001811 gettimeofday({1126357253, 1866}, NULL) = 0
15:00:53.002006 ioctl(3, FIONREAD, [0]) = 0
15:00:53.002080 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\24\0\24\0009\0(\0\233\6\5\0"..., 8980) = 8980
15:00:53.002224 ioctl(3, FIONREAD, [0]) = 0
15:00:53.002295 gettimeofday({1126357253, 2350}, NULL) = 0
15:00:53.002366 select(4, [3], [], [], {0, 997516}) = 0 (Timeout)
15:00:54.001628 gettimeofday({1126357254, 1728}, NULL) = 0
15:00:54.001804 gettimeofday({1126357254, 1862}, NULL) = 0
15:00:54.001878 gettimeofday({1126357254, 1933}, NULL) = 0
15:00:54.002073 ioctl(3, FIONREAD, [0]) = 0
15:00:54.002147 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\27\0\20\0006\0,\0\233\6\5\0"..., 8980) = 8980
15:00:54.002289 ioctl(3, FIONREAD, [0]) = 0
15:00:54.002360 gettimeofday({1126357254, 2415}, NULL) = 0
15:00:54.002431 select(4, [3], [], [], {0, 997518}) = 0 (Timeout)
15:00:55.001713 gettimeofday({1126357255, 1813}, NULL) = 0
15:00:55.001887 gettimeofday({1126357255, 1944}, NULL) = 0
15:00:55.001961 gettimeofday({1126357255, 2015}, NULL) = 0
15:00:55.002155 ioctl(3, FIONREAD, [0]) = 0
15:00:55.002229 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\33\0\16\0002\0.\0\233\6\5\0"..., 8980) = 8980
15:00:55.002371 ioctl(3, FIONREAD, [0]) = 0
15:00:55.002442 gettimeofday({1126357255, 2497}, NULL) = 0
15:00:55.002513 select(4, [3], [], [], {0, 997518}) = 0 (Timeout)
15:00:56.001826 gettimeofday({1126357256, 1931}, NULL) = 0
15:00:56.001997 gettimeofday({1126357256, 2055}, NULL) = 0
15:00:56.002071 gettimeofday({1126357256, 2126}, NULL) = 0
15:00:56.002266 ioctl(3, FIONREAD, [0]) = 0
15:00:56.002340 write(3, "F\n\5\0\f\0\340\0\7\0\340\0\37\0\f\0.\0000\0\233\6\5\0"..., 8980) = 8980
15:00:56.002482 ioctl(3, FIONREAD, [0]) = 0
15:00:56.002552 gettimeofday({1126357256, 2607}, NULL) = 0
15:00:56.002623 select(4, [3], [], [], {0, 996519}) = 0 (Timeout)
15:00:57.002161 gettimeofday({1126357257, 2266}, NULL) = 0
15:00:57.002332 gettimeofday({1126357257, 2390}, NULL) = 0
15:00:57.002406 gettimeofday({1126357257, 2461}, NULL) = 0
15:00:57.002600 ioctl(3, FIONREAD, [0]) = 0
15:00:57.002674 write(3, "F\n\5\0\f\0\340\0\7\0\340\0$\0\n\0)\0002\0\233\6\5\0\r"..., 8980) = 8980
15:00:57.002816 ioctl(3, FIONREAD, [0]) = 0
15:00:57.002887 gettimeofday({1126357257, 2941}, NULL) = 0
15:00:57.002958 select(4, [3], [], [], {0, 996520}) = 0 (Timeout)
15:01:00.144797 gettimeofday({1126357260, 144867}, NULL) = 0
15:01:00.144888 gettimeofday({1126357260, 144943}, NULL) = 0
15:01:00.144959 gettimeofday({1126357260, 145013}, NULL) = 0
15:01:00.145152 ioctl(3, FIONREAD, [0]) = 0
15:00:58.001094 write(3, "F\n\5\0\f\0\340\0\7\0\340\0(\0\10\0%\0004\0\233\6\5\0\r"..., 8780) = 8780
15:00:58.001237 ioctl(3, FIONREAD, [0]) = 0
15:00:58.001308 gettimeofday({1126357258, 1363}, NULL) = 0
15:00:58.001379 select(4, [3], [], [], {2, 998650}) = 0 (Timeout)
15:01:03.145072 gettimeofday({1126357263, 145171}, NULL) = 0
15:01:03.145238 gettimeofday({1126357263, 145296}, NULL) = 0
15:01:03.145313 gettimeofday({1126357261, 1234}, NULL) = 0
15:01:01.001372 gettimeofday({1126357261, 1429}, NULL) = 0
15:01:01.001444 gettimeofday({1126357261, 1498}, NULL) = 0
15:01:01.001603 writev(3, [{"F\n\5\0\f\0\340\0\7\0\340\0004\0\10\0\31\0004\0\233\6\5"..., 16336}, {"\254\26\26\0\216v\26\0,I]\0\254\26\26\0\301i[\0X\306\27"..., 120}], 2) = 16456
15:01:01.001793 gettimeofday({1126357261, 1849}, NULL) = 0
15:01:01.001864 gettimeofday({1126357261, 1919}, NULL) = 0
15:01:01.001936 gettimeofday({1126357261, 1990}, NULL) = 0
15:01:01.002005 gettimeofday({1126357261, 2059}, NULL) = 0
15:01:01.002076 gettimeofday({1126357261, 2130}, NULL) = 0
15:01:01.002145 gettimeofday({1126357261, 2199}, NULL) = 0
15:01:01.002216 gettimeofday({1126357261, 2270}, NULL) = 0
15:01:01.002284 gettimeofday({1126357261, 2339}, NULL) = 0
15:01:01.002355 gettimeofday({1126357261, 2410}, NULL) = 0
15:01:01.002424 gettimeofday({1126357261, 2478}, NULL) = 0
15:01:01.002495 gettimeofday({1126357261, 2549}, NULL) = 0
15:01:01.002564 gettimeofday({1126357261, 2618}, NULL) = 0
15:01:01.002635 gettimeofday({1126357261, 2689}, NULL) = 0
15:01:01.002704 gettimeofday({1126357261, 2758}, NULL) = 0
15:01:01.002774 gettimeofday({1126357261, 2829}, NULL) = 0
15:01:01.002843 gettimeofday({1126357261, 2898}, NULL) = 0
15:01:01.002914 gettimeofday({1126357261, 2968}, NULL) = 0
15:01:01.002983 gettimeofday({1126357261, 3037}, NULL) = 0
15:01:01.003054 gettimeofday({1126357261, 3108}, NULL) = 0
15:01:01.003122 gettimeofday({1126357261, 3177}, NULL) = 0
15:01:01.003193 gettimeofday({1126357261, 3248}, NULL) = 0
15:01:01.003262 gettimeofday({1126357261, 3316}, NULL) = 0
15:01:01.003333 gettimeofday({1126357261, 3387}, NULL) = 0
15:01:01.003402 gettimeofday({1126357261, 3456}, NULL) = 0
15:01:01.003472 gettimeofday({1126357261, 3527}, NULL) = 0
15:01:01.003541 gettimeofday({1126357261, 3596}, NULL) = 0
15:01:01.003612 gettimeofday({1126357261, 3667}, NULL) = 0
15:01:01.003681 gettimeofday({1126357261, 3735}, NULL) = 0
15:01:01.003752 gettimeofday({1126357261, 3806}, NULL) = 0
15:01:01.003821 gettimeofday({1126357261, 3875}, NULL) = 0
15:01:01.003892 gettimeofday({1126357263, 148080}, NULL) = 0
15:01:03.148095 gettimeofday({1126357263, 148149}, NULL) = 0
15:01:03.148269 ioctl(3, FIONREAD, [0]) = 0
15:01:01.005260 write(3, "\233\n$\0\3\0\340\0\17\0\340\0\r\0\340\0,\0\0\0\0\0\0\0"..., 10864) = 10864
15:01:01.005404 ioctl(3, FIONREAD, [0]) = 0
15:01:01.005476 gettimeofday({1126357261, 5531}, NULL) = 0
15:01:01.005547 select(4, [3], [], [], {2, 993618}) = 0 (Timeout)
15:01:06.145317 gettimeofday({1126357266, 145416}, NULL) = 0
15:01:06.145493 gettimeofday({1126357264, 1418}, NULL) = 0
15:01:04.001435 gettimeofday({1126357264, 1490}, NULL) = 0
15:01:04.001629 gettimeofday({1126357264, 1684}, NULL) = 0
15:01:04.001699 gettimeofday({1126357264, 1753}, NULL) = 0
15:01:04.001770 gettimeofday({1126357264, 1824}, NULL) = 0
15:01:04.001838 gettimeofday({1126357264, 1893}, NULL) = 0
15:01:04.001909 gettimeofday({1126357264, 1963}, NULL) = 0
15:01:04.001978 gettimeofday({1126357264, 2032}, NULL) = 0
15:01:04.002049 gettimeofday({1126357264, 2103}, NULL) = 0
15:01:04.002117 gettimeofday({1126357264, 2172}, NULL) = 0
15:01:04.002188 gettimeofday({1126357264, 2242}, NULL) = 0
15:01:04.002257 gettimeofday({1126357264, 2311}, NULL) = 0
15:01:04.002327 gettimeofday({1126357264, 2382}, NULL) = 0
15:01:04.002396 gettimeofday({1126357264, 2450}, NULL) = 0
15:01:04.002467 gettimeofday({1126357264, 2521}, NULL) = 0
15:01:04.002535 gettimeofday({1126357264, 2589}, NULL) = 0
15:01:04.002606 gettimeofday({1126357264, 2660}, NULL) = 0
15:01:04.002674 gettimeofday({1126357264, 2729}, NULL) = 0
15:01:04.002745 gettimeofday({1126357264, 2799}, NULL) = 0
15:01:04.002814 gettimeofday({1126357264, 2868}, NULL) = 0
15:01:04.002884 gettimeofday({1126357264, 2939}, NULL) = 0
15:01:04.002953 gettimeofday({1126357264, 3007}, NULL) = 0
15:01:04.003024 gettimeofday({1126357264, 3078}, NULL) = 0
15:01:04.003092 gettimeofday({1126357264, 3147}, NULL) = 0
15:01:04.003163 gettimeofday({1126357264, 3217}, NULL) = 0
15:01:04.003232 gettimeofday({1126357264, 3286}, NULL) = 0
15:01:04.003302 gettimeofday({1126357264, 3357}, NULL) = 0
15:01:04.003371 gettimeofday({1126357264, 3425}, NULL) = 0
15:01:04.003442 gettimeofday({1126357264, 3496}, NULL) = 0
15:01:04.003510 gettimeofday({1126357264, 3565}, NULL) = 0
15:01:04.003581 gettimeofday({1126357264, 3635}, NULL) = 0
15:01:04.003650 gettimeofday({1126357264, 3704}, NULL) = 0
15:01:04.003720 gettimeofday({1126357264, 3775}, NULL) = 0
15:01:04.003789 gettimeofday({1126357264, 3843}, NULL) = 0
15:01:04.003860 gettimeofday({1126357264, 3914}, NULL) = 0
15:01:04.003928 gettimeofday({1126357264, 3983}, NULL) = 0
15:01:04.003999 gettimeofday({1126357264, 4053}, NULL) = 0
15:01:04.004068 gettimeofday({1126357266, 148256}, NULL) = 0
15:01:06.148275 ioctl(3, FIONREAD, [0]) = 0
15:01:06.148348 write(3, "F\n\5\0\f\0\340\0\7\0\340\0004\0\n\0\31\0002\0\233\6\5"..., 9484) = 9484
15:01:06.148492 ioctl(3, FIONREAD, [0]) = 0
15:01:04.005443 gettimeofday({1126357264, 5500}, NULL) = 0
15:01:04.005516 select(4, [3], [], [], {3, 137756}) = 0 (Timeout)
15:01:09.289582 gettimeofday({1126357269, 289681}, NULL) = 0
15:01:07.145616 gettimeofday({1126357267, 145673}, NULL) = 0
15:01:07.145690 gettimeofday({1126357267, 145744}, NULL) = 0
15:01:07.145884 gettimeofday({1126357267, 145939}, NULL) = 0
15:01:07.145954 gettimeofday({1126357267, 146008}, NULL) = 0
15:01:07.146025 gettimeofday({1126357267, 146079}, NULL) = 0
15:01:07.146094 gettimeofday({1126357267, 146148}, NULL) = 0
15:01:07.146164 gettimeofday({1126357267, 146218}, NULL) = 0
15:01:07.146233 gettimeofday({1126357267, 146287}, NULL) = 0
15:01:07.146303 gettimeofday({1126357267, 146358}, NULL) = 0
15:01:07.146372 gettimeofday({1126357267, 146426}, NULL) = 0
15:01:07.146443 gettimeofday({1126357267, 146497}, NULL) = 0
15:01:07.146511 gettimeofday({1126357267, 146566}, NULL) = 0
15:01:07.146582 gettimeofday({1126357267, 146636}, NULL) = 0
15:01:07.146651 gettimeofday({1126357267, 146705}, NULL) = 0
15:01:07.146721 gettimeofday({1126357267, 146775}, NULL) = 0
15:01:07.146790 gettimeofday({1126357267, 146844}, NULL) = 0
15:01:07.146860 gettimeofday({1126357267, 146915}, NULL) = 0
15:01:07.146929 gettimeofday({1126357267, 146983}, NULL) = 0
15:01:07.147000 gettimeofday({1126357267, 147054}, NULL) = 0
15:01:07.147068 gettimeofday({1126357267, 147122}, NULL) = 0
15:01:07.147139 gettimeofday({1126357267, 147193}, NULL) = 0
15:01:07.147207 gettimeofday({1126357267, 147262}, NULL) = 0
15:01:07.147278 gettimeofday({1126357267, 147332}, NULL) = 0
15:01:07.147347 gettimeofday({1126357267, 147401}, NULL) = 0
15:01:07.147417 gettimeofday({1126357267, 147471}, NULL) = 0
15:01:07.147486 gettimeofday({1126357267, 147540}, NULL) = 0
15:01:07.147556 gettimeofday({1126357267, 147610}, NULL) = 0
15:01:07.147625 gettimeofday({1126357267, 147679}, NULL) = 0
15:01:07.147695 gettimeofday({1126357267, 147750}, NULL) = 0
15:01:07.147764 gettimeofday({1126357267, 147818}, NULL) = 0
15:01:07.147835 gettimeofday({1126357267, 147889}, NULL) = 0
15:01:07.147903 gettimeofday({1126357267, 147957}, NULL) = 0
15:01:07.147974 gettimeofday({1126357267, 148028}, NULL) = 0
15:01:07.148042 gettimeofday({1126357267, 148097}, NULL) = 0
15:01:07.148113 gettimeofday({1126357267, 148167}, NULL) = 0
15:01:07.148182 gettimeofday({1126357267, 148236}, NULL) = 0
15:01:07.148252 gettimeofday({1126357269, 292440}, NULL) = 0
15:01:09.292455 gettimeofday({1126357269, 292509}, NULL) = 0
15:01:09.292609 write(3, "F\n\5\0\f\0\340\0\7\0\340\0004\0\f\0%\0000\0\233\6\5\0"..., 16376) = 16376
15:01:07.149665 ioctl(3, FIONREAD, [0]) = 0
15:01:07.149764 write(3, "\233\n$\0\3\0\340\0\17\0\340\0\r\0\340\0,\0\0\0\0\0\0\0"..., 2060) = 2060
15:01:07.149864 ioctl(3, FIONREAD, [0]) = 0
15:01:07.149933 gettimeofday({1126357267, 149988}, NULL) = 0
15:01:07.150004 select(4, [3], [], [], {2, 849521} <unfinished ...>
Process 2208 detached


--
Frank