* hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
@ 2004-05-28 8:07 Meelis Roos
2004-05-28 11:43 ` Ben Collins
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: Meelis Roos @ 2004-05-28 8:07 UTC (permalink / raw)
To: sparclinux
> Did you try booting with maxcpus=1 or building without SMP ?
I did try maxcpus=1 now, this works too in addition to UP. So it's two
CPU-s that's showing the bug, not just SMP kernel.
Additionally I found out that keyboard is actually OK, I just have to
use the right keymap for 2.6 (duh). So only hme is dieing in real SMP.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
@ 2004-05-28 11:43 ` Ben Collins
2004-05-29 18:55 ` Meelis Roos
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Ben Collins @ 2004-05-28 11:43 UTC (permalink / raw)
To: sparclinux
On Fri, May 28, 2004 at 11:07:04AM +0300, Meelis Roos wrote:
> > Did you try booting with maxcpus=1 or building without SMP ?
>
> I did try maxcpus=1 now, this works too in addition to UP. So it's two
> CPU-s that's showing the bug, not just SMP kernel.
>
> Additionally I found out that keyboard is actually OK, I just have to
> use the right keymap for 2.6 (duh). So only hme is dieing in real SMP.
Very odd. My Ultra2 has an HME, and I have it booted right now in SMP
(two CPU's) with the latest bk as of last night (2.6.7-rc1). Working
without problems. Same on my 6way e3000.
Both of these were running 2.6.6-rc2 for quite awhile without problems
aswell.
I have a feeling this has more to do with networking than HME
specifically. You have a lot of stuff enabled that I don't, like ipv6,
netfilter, QoS, IP_PNP, etc.
How about disabling all that just to see if it will boot. Then enable
one of those subsystems at a time to see what causes it.
--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
WatchGuard - http://www.watchguard.com/
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
2004-05-28 11:43 ` Ben Collins
@ 2004-05-29 18:55 ` Meelis Roos
2004-05-31 2:19 ` Ciaran McCreesh
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Meelis Roos @ 2004-05-29 18:55 UTC (permalink / raw)
To: sparclinux
> How about disabling all that just to see if it will boot. Then enable
> one of those subsystems at a time to see what causes it.
The following config still hangs. Would you compare it with your working
config and tell what else to disable? Or better yet, send me your
working config?
#
# Automatically generated make config: don't edit
#
CONFIG_64BIT=y
CONFIG_MMU=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_CLEAN_COMPILE is not set
# CONFIG_STANDALONE is not set
CONFIG_BROKEN=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT\x16
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
#
# General setup
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SMP=y
CONFIG_PREEMPT=y
CONFIG_NR_CPUS2
# CONFIG_CPU_FREQ is not set
CONFIG_SPARC64=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_SBUS=y
CONFIG_SBUSCHAR=y
CONFIG_SUN_AUXIO=y
CONFIG_SUN_IO=y
# CONFIG_PCI is not set
# CONFIG_PCI_DOMAINS is not set
# CONFIG_SUN_OPENPROMFS is not set
CONFIG_SPARC32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_UID16=y
CONFIG_BINFMT_ELF32=y
# CONFIG_BINFMT_AOUT32 is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_SUNOS_EMUL is not set
# CONFIG_SOLARIS_EMUL is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
# CONFIG_CMDLINE_BOOL is not set
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
#
# CONFIG_MDA_CONSOLE is not set
CONFIG_PROM_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_SUNCORE=y
CONFIG_SERIAL_SUNZILOG=y
CONFIG_SERIAL_SUNZILOG_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
#
# Misc Linux/SPARC drivers
#
# CONFIG_SUN_OPENPROMIO is not set
CONFIG_SUN_MOSTEK_RTC=y
# CONFIG_OBP_FLASH is not set
# CONFIG_SUN_BPP is not set
# CONFIG_SUN_VIDEOPIX is not set
# CONFIG_SUN_AURORA is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set
#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_QLOGICPTI is not set
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_SUNESP=y
#
# Fibre Channel support
#
# CONFIG_FC4 is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
# CONFIG_SUNLANCE is not set
CONFIG_HAPPYMEAL=y
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_MYRI_SBUS is not set
#
# Ethernet (10000 Mbit)
#
#
# Token Ring devices
#
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Unix98 PTY support
#
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT%6
#
# XFree86 DRI support
#
# CONFIG_DRM is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X\x1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Yv8
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_SOUND_GAMEPORT=m
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set
CONFIG_SERIO=y
# CONFIG_SERIO_I8042 is not set
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_SUNKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=y
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_UINPUT=m
#
# I2C support
#
# CONFIG_I2C is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
CONFIG_XFS_RT=y
# CONFIG_XFS_QUOTA is not set
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=m
CONFIG_UDF_FS=m
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
CONFIG_DEVPTS_FS_SECURITY=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_EFS_FS=m
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_NEC98_PARTITION=y
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_EFI_PARTITION=y
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_SLAB=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_DCFLUSH=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_STACK_DEBUG is not set
# CONFIG_DEBUG_BOOTMEM is not set
#
# Security options
#
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=m
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Library routines
#
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=m
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
2004-05-28 11:43 ` Ben Collins
2004-05-29 18:55 ` Meelis Roos
@ 2004-05-31 2:19 ` Ciaran McCreesh
2004-05-31 2:36 ` David S. Miller
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Ciaran McCreesh @ 2004-05-31 2:19 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 917 bytes --]
On Fri, 28 May 2004 11:07:04 +0300 (EEST) Meelis Roos <mroos@linux.ee>
wrote:
| > Did you try booting with maxcpus=1 or building without SMP ?
|
| I did try maxcpus=1 now, this works too in addition to UP. So it's two
| CPU-s that's showing the bug, not just SMP kernel.
|
| Additionally I found out that keyboard is actually OK, I just have to
| use the right keymap for 2.6 (duh). So only hme is dieing in real SMP.
This is a *very* long shot, but... Have you tried applying the ultra1E
hme lockup patch? A Gentoo user reported the same problem, and he is
also using dual USI CPUs in an Ultra2.
If you can't find the patch anywhere, it's included in:
http://gentoo.oregonstate.edu/distfiles/patches-2.6.6-sparc.tar.bz2
(blindly stabbing in the dark...)
--
Ciaran McCreesh : Gentoo Developer (Sparc, MIPS, Vim, Fluxbox)
Mail : ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (2 preceding siblings ...)
2004-05-31 2:19 ` Ciaran McCreesh
@ 2004-05-31 2:36 ` David S. Miller
2004-05-31 9:41 ` Meelis Roos
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: David S. Miller @ 2004-05-31 2:36 UTC (permalink / raw)
To: sparclinux
Actually, Meelis are you using serial console? If so I bet this
fixes your problem:
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/05/30 17:43:22-07:00 davem@nuts.davemloft.net
# [SPARC]: Do tty_flip_buffer_push outside of port lock.
#
# drivers/serial/sunzilog.c
# 2004/05/30 17:43:04-07:00 davem@nuts.davemloft.net +16 -7
# [SPARC]: Do tty_flip_buffer_push outside of port lock.
#
# drivers/serial/sunsu.c
# 2004/05/30 17:43:04-07:00 davem@nuts.davemloft.net +16 -4
# [SPARC]: Do tty_flip_buffer_push outside of port lock.
#
# drivers/serial/sunsab.c
# 2004/05/30 17:43:04-07:00 davem@nuts.davemloft.net +19 -10
# [SPARC]: Do tty_flip_buffer_push outside of port lock.
#
diff -Nru a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
--- a/drivers/serial/sunsab.c 2004-05-30 19:35:14 -07:00
+++ b/drivers/serial/sunsab.c 2004-05-30 19:35:14 -07:00
@@ -97,9 +97,10 @@
udelay(1);
}
-static void receive_chars(struct uart_sunsab_port *up,
- union sab82532_irq_status *stat,
- struct pt_regs *regs)
+static struct tty_struct *
+receive_chars(struct uart_sunsab_port *up,
+ union sab82532_irq_status *stat,
+ struct pt_regs *regs)
{
struct tty_struct *tty = NULL;
unsigned char buf[32];
@@ -126,7 +127,7 @@
if (stat->sreg.isr0 & SAB82532_ISR0_TIME) {
sunsab_cec_wait(up);
writeb(SAB82532_CMDR_RFRD, &up->regs->w.cmdr);
- return;
+ return tty;
}
if (stat->sreg.isr0 & SAB82532_ISR0_RFO)
@@ -153,7 +154,7 @@
if (unlikely(tty->flip.count >= TTY_FLIPBUF_SIZE)) {
tty->flip.work.func((void *)tty);
if (tty->flip.count >= TTY_FLIPBUF_SIZE)
- return; // if TTY_DONT_FLIP is set
+ return tty; // if TTY_DONT_FLIP is set
}
*tty->flip.char_buf_ptr = ch;
@@ -225,11 +226,10 @@
}
}
- if (tty)
- tty_flip_buffer_push(tty);
-
if (saw_console_brk)
sun_do_break();
+
+ return tty;
}
static void sunsab_stop_tx(struct uart_port *, unsigned int);
@@ -311,6 +311,7 @@
static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
struct uart_sunsab_port *up = dev_id;
+ struct tty_struct *tty;
union sab82532_irq_status status;
unsigned long flags;
@@ -322,10 +323,11 @@
if (readb(&up->regs->r.gis) & SAB82532_GIS_ISA1)
status.sreg.isr1 = readb(&up->regs->r.isr1);
+ tty = NULL;
if (status.stat) {
if (status.sreg.isr0 & (SAB82532_ISR0_TCD | SAB82532_ISR0_TIME |
SAB82532_ISR0_RFO | SAB82532_ISR0_RPF))
- receive_chars(up, &status, regs);
+ tty = receive_chars(up, &status, regs);
if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) ||
(status.sreg.isr1 & SAB82532_ISR1_CSC))
check_status(up, &status);
@@ -335,6 +337,9 @@
spin_unlock(&up->port.lock);
+ if (tty)
+ tty_flip_buffer_push(tty);
+
up++;
spin_lock(&up->port.lock);
@@ -345,10 +350,11 @@
if (readb(&up->regs->r.gis) & SAB82532_GIS_ISB1)
status.sreg.isr1 = readb(&up->regs->r.isr1);
+ tty = NULL;
if (status.stat) {
if (status.sreg.isr0 & (SAB82532_ISR0_TCD | SAB82532_ISR0_TIME |
SAB82532_ISR0_RFO | SAB82532_ISR0_RPF))
- receive_chars(up, &status, regs);
+ tty = receive_chars(up, &status, regs);
if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) ||
(status.sreg.isr1 & (SAB82532_ISR1_BRK | SAB82532_ISR1_CSC)))
check_status(up, &status);
@@ -357,6 +363,9 @@
}
spin_unlock_irqrestore(&up->port.lock, flags);
+
+ if (tty)
+ tty_flip_buffer_push(tty);
return IRQ_HANDLED;
}
diff -Nru a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
--- a/drivers/serial/sunsu.c 2004-05-30 19:35:14 -07:00
+++ b/drivers/serial/sunsu.c 2004-05-30 19:35:14 -07:00
@@ -310,7 +310,7 @@
spin_unlock_irqrestore(&up->port.lock, flags);
}
-static _INLINE_ void
+static _INLINE_ struct tty_struct *
receive_chars(struct uart_sunsu_port *up, unsigned char *status, struct pt_regs *regs)
{
struct tty_struct *tty = up->port.info->tty;
@@ -322,7 +322,7 @@
if (unlikely(tty->flip.count >= TTY_FLIPBUF_SIZE)) {
tty->flip.work.func((void *)tty);
if (tty->flip.count >= TTY_FLIPBUF_SIZE)
- return; // if TTY_DONT_FLIP is set
+ return tty; // if TTY_DONT_FLIP is set
}
ch = serial_inp(up, UART_RX);
*tty->flip.char_buf_ptr = ch;
@@ -396,10 +396,11 @@
ignore_char:
*status = serial_inp(up, UART_LSR);
} while ((*status & UART_LSR_DR) && (max_count-- > 0));
- tty_flip_buffer_push(tty);
if (saw_console_brk)
sun_do_break();
+
+ return tty;
}
static _INLINE_ void transmit_chars(struct uart_sunsu_port *up)
@@ -464,12 +465,23 @@
spin_lock_irqsave(&up->port.lock, flags);
do {
+ struct tty_struct *tty;
+
status = serial_inp(up, UART_LSR);
+ tty = NULL;
if (status & UART_LSR_DR)
- receive_chars(up, &status, regs);
+ tty = receive_chars(up, &status, regs);
check_modem_status(up);
if (status & UART_LSR_THRE)
transmit_chars(up);
+
+ spin_unlock_irqrestore(&up->port.lock, flags);
+
+ if (tty)
+ tty_flip_buffer_push(tty);
+
+ spin_lock_irqsave(&up->port.lock, flags);
+
} while (!(serial_in(up, UART_IIR) & UART_IIR_NO_INT));
spin_unlock_irqrestore(&up->port.lock, flags);
diff -Nru a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
--- a/drivers/serial/sunzilog.c 2004-05-30 19:35:14 -07:00
+++ b/drivers/serial/sunzilog.c 2004-05-30 19:35:14 -07:00
@@ -313,9 +313,10 @@
}
}
-static void sunzilog_receive_chars(struct uart_sunzilog_port *up,
- struct zilog_channel *channel,
- struct pt_regs *regs)
+static struct tty_struct *
+sunzilog_receive_chars(struct uart_sunzilog_port *up,
+ struct zilog_channel *channel,
+ struct pt_regs *regs)
{
struct tty_struct *tty;
unsigned char ch, r1;
@@ -414,8 +415,7 @@
}
}
- if (tty)
- tty_flip_buffer_push(tty);
+ return tty;
}
static void sunzilog_status_handle(struct uart_sunzilog_port *up,
@@ -550,19 +550,21 @@
while (up) {
struct zilog_channel *channel
= ZILOG_CHANNEL_FROM_PORT(&up->port);
+ struct tty_struct *tty;
unsigned char r3;
spin_lock(&up->port.lock);
r3 = read_zsreg(channel, R3);
/* Channel A */
+ tty = NULL;
if (r3 & (CHAEXT | CHATxIP | CHARxIP)) {
sbus_writeb(RES_H_IUS, &channel->control);
ZSDELAY();
ZS_WSYNC(channel);
if (r3 & CHARxIP)
- sunzilog_receive_chars(up, channel, regs);
+ tty = sunzilog_receive_chars(up, channel, regs);
if (r3 & CHAEXT)
sunzilog_status_handle(up, channel, regs);
if (r3 & CHATxIP)
@@ -570,24 +572,31 @@
}
spin_unlock(&up->port.lock);
+ if (tty)
+ tty_flip_buffer_push(tty);
+
/* Channel B */
up = up->next;
channel = ZILOG_CHANNEL_FROM_PORT(&up->port);
spin_lock(&up->port.lock);
+ tty = NULL;
if (r3 & (CHBEXT | CHBTxIP | CHBRxIP)) {
sbus_writeb(RES_H_IUS, &channel->control);
ZSDELAY();
ZS_WSYNC(channel);
if (r3 & CHBRxIP)
- sunzilog_receive_chars(up, channel, regs);
+ tty = sunzilog_receive_chars(up, channel, regs);
if (r3 & CHBEXT)
sunzilog_status_handle(up, channel, regs);
if (r3 & CHBTxIP)
sunzilog_transmit_chars(up, channel);
}
spin_unlock(&up->port.lock);
+
+ if (tty)
+ tty_flip_buffer_push(tty);
up = up->next;
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (3 preceding siblings ...)
2004-05-31 2:36 ` David S. Miller
@ 2004-05-31 9:41 ` Meelis Roos
2004-05-31 10:18 ` Meelis Roos
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Meelis Roos @ 2004-05-31 9:41 UTC (permalink / raw)
To: sparclinux
> Actually, Meelis are you using serial console? If so I bet this
> fixes your problem:
No, I'm not using serial console currently, I did put in a cg6 and I'm
using this and a type 5 keyboard as the prom console (console=prom). So
this patch problably does not help here?
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (4 preceding siblings ...)
2004-05-31 9:41 ` Meelis Roos
@ 2004-05-31 10:18 ` Meelis Roos
2004-05-31 19:26 ` David S. Miller
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Meelis Roos @ 2004-05-31 10:18 UTC (permalink / raw)
To: sparclinux
> This is a *very* long shot, but... Have you tried applying the ultra1E
> hme lockup patch? A Gentoo user reported the same problem, and he is
> also using dual USI CPUs in an Ultra2.
>
> If you can't find the patch anywhere, it's included in:
> http://gentoo.oregonstate.edu/distfiles/patches-2.6.6-sparc.tar.bz2
Unfortuantely it did not help :-(
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (5 preceding siblings ...)
2004-05-31 10:18 ` Meelis Roos
@ 2004-05-31 19:26 ` David S. Miller
2004-05-31 19:29 ` Meelis Roos
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: David S. Miller @ 2004-05-31 19:26 UTC (permalink / raw)
To: sparclinux
On Mon, 31 May 2004 12:41:37 +0300 (EEST)
Meelis Roos <mroos@linux.ee> wrote:
> No, I'm not using serial console currently, I did put in a cg6 and I'm
> using this and a type 5 keyboard as the prom console (console=prom). So
> this patch problably does not help here?
Right, but why aren't you using the suncg6 frame buffer driver?
console=prom is not only slow, it's deadlock prone as well
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (6 preceding siblings ...)
2004-05-31 19:26 ` David S. Miller
@ 2004-05-31 19:29 ` Meelis Roos
2004-05-31 19:44 ` David S. Miller
2004-06-01 8:49 ` Meelis Roos
9 siblings, 0 replies; 11+ messages in thread
From: Meelis Roos @ 2004-05-31 19:29 UTC (permalink / raw)
To: sparclinux
> Right, but why aren't you using the suncg6 frame buffer driver?
I tried to rule out as many drivers as I could.
> console=prom is not only slow, it's deadlock prone as well
Thanks for the hint, will try cg6fb tomorrow. But I switched off cg6fb
to debug the hangs so I do not have great hopes for it.
Why is prom console deadlock prone?
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (7 preceding siblings ...)
2004-05-31 19:29 ` Meelis Roos
@ 2004-05-31 19:44 ` David S. Miller
2004-06-01 8:49 ` Meelis Roos
9 siblings, 0 replies; 11+ messages in thread
From: David S. Miller @ 2004-05-31 19:44 UTC (permalink / raw)
To: sparclinux
On Mon, 31 May 2004 22:29:33 +0300 (EEST)
Meelis Roos <mroos@linux.ee> wrote:
> Why is prom console deadlock prone?
Because it is the only facility in the kernel that causes
frequent calls into the OBP firmware, which requires full
cpu register state save on entry and exit.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently)
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
` (8 preceding siblings ...)
2004-05-31 19:44 ` David S. Miller
@ 2004-06-01 8:49 ` Meelis Roos
9 siblings, 0 replies; 11+ messages in thread
From: Meelis Roos @ 2004-06-01 8:49 UTC (permalink / raw)
To: sparclinux
> Right, but why aren't you using the suncg6 frame buffer driver?
Tried it, still hangs :-(
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2004-06-01 8:49 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-28 8:07 hme hang in SMP (was: 2.6.6 SMP on UE2 hangs consistently) Meelis Roos
2004-05-28 11:43 ` Ben Collins
2004-05-29 18:55 ` Meelis Roos
2004-05-31 2:19 ` Ciaran McCreesh
2004-05-31 2:36 ` David S. Miller
2004-05-31 9:41 ` Meelis Roos
2004-05-31 10:18 ` Meelis Roos
2004-05-31 19:26 ` David S. Miller
2004-05-31 19:29 ` Meelis Roos
2004-05-31 19:44 ` David S. Miller
2004-06-01 8:49 ` Meelis Roos
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.