public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] Linux-2.6.17-rt3 on arm ixdp465
@ 2006-06-28 15:05 Milan Svoboda
  2006-06-28 17:02 ` Esben Nielsen
  0 siblings, 1 reply; 17+ messages in thread
From: Milan Svoboda @ 2006-06-28 15:05 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 785 bytes --]

Hello,

I tried this kernel on arm ixdp465, it works well, but I got many
of these messages:

BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
caller is rt_lock_slowlock+0xd8/0x1c8
BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
caller is rt_lock_slowlock+0xd8/0x1c8
BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
caller is rt_lock_slowlock+0xd8/0x1c8
BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
caller is rt_lock_slowlock+0xd8/0x1c8
BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
caller is rt_lock_slowlock+0xd8/0x1c8

# cat /proc/interrupts
           CPU0
  5:      29620   IXP4xx Timer Tick
 15:        876   serial
 25:       3813   eth0
Err:          0

PS: Please CC me, I'm not subscribed...

Best Regards,
Milan Svoboda


[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 17542 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.17-rt3
# Wed Jun 28 14:47:06 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_VECTORS_BASE=0xffff0000

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
# CONFIG_RELAY is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_UID16=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_RT_MUTEXES=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
CONFIG_OBSOLETE_INTERMODULE=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_KMOD is not set

#
# Block layer
#
# CONFIG_BLK_DEV_IO_TRACE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"

#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
CONFIG_ARCH_IXP4XX=y
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_IXP23XX is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y

#
# Intel IXP4xx Implementation Options
#

#
# IXP4xx Platforms
#
# CONFIG_MACH_NSLU2 is not set
# CONFIG_ARCH_AVILA is not set
# CONFIG_ARCH_ADI_COYOTE is not set
# CONFIG_ARCH_IXDP425 is not set
# CONFIG_MACH_IXDPG425 is not set
CONFIG_MACH_IXDP465=y
# CONFIG_ARCH_PRPMC1100 is not set
# CONFIG_MACH_NAS100D is not set
CONFIG_ARCH_IXDP4XX=y
CONFIG_CPU_IXP46X=y
# CONFIG_MACH_GTWX5715 is not set

#
# IXP4xx Options
#
CONFIG_DMABOUNCE=y
# CONFIG_IXP4XX_INDIRECT_PCI is not set

#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_XSCALE=y
CONFIG_CPU_32v5=y
CONFIG_CPU_ABRT_EV5T=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_TLB_V4WBI=y

#
# Processor Features
#
# CONFIG_ARM_THUMB is not set
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_XSCALE_PMU=y

#
# Bus support
#
CONFIG_PCI=y

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# Kernel Features
#
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not set
CONFIG_PREEMPT_RT=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_PREEMPT_BKL=y
# CONFIG_CLASSIC_RCU is not set
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_STATS=y
# CONFIG_NO_IDLE_HZ is not set
CONFIG_HZ=100
CONFIG_HIGH_RES_TIMERS=y
CONFIG_HIGH_RES_RESOLUTION=10000
# CONFIG_AEABI is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
CONFIG_ALIGNMENT_TRAP=y

#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_ZBOOT_ROM_BSS=0
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp mem=128M"
# CONFIG_XIP_KERNEL is not set

#
# Floating point emulation
#

#
# At least one emulation must be selected
#
# CONFIG_FPE_NWFPE is not set
# CONFIG_FPE_FASTFPE is not set

#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set

#
# Power management options
#
# CONFIG_PM is not set
# CONFIG_APM is not set

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP 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_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP 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_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_NETFILTER is not set

#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set

#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC 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

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=y

#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set

#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_AFS_PARTS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_OBSOLETE_CHIPS is not set

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_ARM_INTEGRATOR is not set
CONFIG_MTD_IXP4XX=y
# CONFIG_MTD_PCI is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set

#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set

#
# OneNAND Flash Device Drivers
#
# CONFIG_MTD_ONENAND is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#

#
# Block devices
#
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# PHY device support
#
# CONFIG_PHYLIB is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=y
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_CHELSIO_T1 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=2
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set

#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set

#
# I2C support
#
# CONFIG_I2C is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#

#
# LED devices
#
# CONFIG_NEW_LEDS is not set

#
# LED drivers
#

#
# LED Triggers
#

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
CONFIG_VIDEO_V4L2=y

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
# CONFIG_USB is not set

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# USB Gadget Support
#
CONFIG_USB_GADGET=m
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_NET2280 is not set
CONFIG_USB_GADGET_PXA2XX=y
CONFIG_USB_PXA2XX=m
CONFIG_USB_PXA2XX_SMALL=y
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
# CONFIG_USB_GADGET_DUALSPEED is not set
CONFIG_USB_ZERO=m
# CONFIG_USB_ETH is not set
CONFIG_USB_GADGETFS=m
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# Real Time Clock
#
CONFIG_RTC_LIB=y
# CONFIG_RTC_CLASS is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_CONFIGFS_FS is not set

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# 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 is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 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
# CONFIG_9P_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
# CONFIG_NLS is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
# CONFIG_PRINTK_IGNORE_LOGLEVEL is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_WAKEUP_TIMING is not set
# CONFIG_CRITICAL_PREEMPT_TIMING is not set
# CONFIG_CRITICAL_IRQSOFF_TIMING is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_FS is not set
CONFIG_FRAME_POINTER=y
# CONFIG_UNWIND_INFO is not set
# CONFIG_DEBUG_USER is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
# CONFIG_CRYPTO is not set

#
# Hardware crypto devices
#

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_PLIST=y

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-28 15:05 Milan Svoboda
@ 2006-06-28 17:02 ` Esben Nielsen
  0 siblings, 0 replies; 17+ messages in thread
From: Esben Nielsen @ 2006-06-28 17:02 UTC (permalink / raw)
  To: Milan Svoboda; +Cc: linux-kernel

On Wed, 28 Jun 2006, Milan Svoboda wrote:

> Hello,
>
> I tried this kernel on arm ixdp465, it works well, but I got many
> of these messages:
>
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
>
> # cat /proc/interrupts
>           CPU0
> 5:      29620   IXP4xx Timer Tick
> 15:        876   serial
> 25:       3813   eth0
> Err:          0
>

Looks like a bug in your ethernet driver, which is?
It could be that that driver is not SMP compliant and uses irq disable/enable
as locking method instead of a spinlock.

Esben

> PS: Please CC me, I'm not subscribed...
>
> Best Regards,
> Milan Svoboda
>
>
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
@ 2006-06-29  7:01 Milan Svoboda
  2006-06-29 10:03 ` Esben Nielsen
  0 siblings, 1 reply; 17+ messages in thread
From: Milan Svoboda @ 2006-06-29  7:01 UTC (permalink / raw)
  To: Esben Nielsen; +Cc: linux-kernel

> # 
> # Tulip family network device support 
> # 
> # CONFIG_NET_TULIP is not set 
> # CONFIG_HP100 is not set 
> CONFIG_NET_PCI=y 
> # CONFIG_PCNET32 is not set 
> # CONFIG_AMD8111_ETH is not set 
> # CONFIG_ADAPTEC_STARFIRE is not set 
> # CONFIG_B44 is not set 
> # CONFIG_FORCEDETH is not set 
> # CONFIG_DGRS is not set 
> CONFIG_EEPRO100=y 
> # CONFIG_E100 is not set 
> # CONFIG_FEALNX is not set 

I use "old" eepro100 network device driver...

Thank you for your answer, I look at it too...

Milan






Esben Nielsen <nielsen.esben@googlemail.com>
06/28/2006 07:02 PM

 
        To:     Milan Svoboda <msvoboda@ra.rockwell.com>
        cc:     linux-kernel@vger.kernel.org
        Subject:        Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465


On Wed, 28 Jun 2006, Milan Svoboda wrote:

> Hello,
>
> I tried this kernel on arm ixdp465, it works well, but I got many
> of these messages:
>
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
> caller is rt_lock_slowlock+0xd8/0x1c8
>
> # cat /proc/interrupts
>           CPU0
> 5:      29620   IXP4xx Timer Tick
> 15:        876   serial
> 25:       3813   eth0
> Err:          0
>

Looks like a bug in your ethernet driver, which is?
It could be that that driver is not SMP compliant and uses irq 
disable/enable
as locking method instead of a spinlock.

Esben

> PS: Please CC me, I'm not subscribed...
>
> Best Regards,
> Milan Svoboda
>
>
>




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 10:03 ` Esben Nielsen
@ 2006-06-29  9:21   ` Steven Rostedt
  2006-06-29 12:30     ` Esben Nielsen
  0 siblings, 1 reply; 17+ messages in thread
From: Steven Rostedt @ 2006-06-29  9:21 UTC (permalink / raw)
  To: Esben Nielsen; +Cc: Milan Svoboda, linux-kernel


On Thu, 29 Jun 2006, Esben Nielsen wrote:

> On Thu, 29 Jun 2006, Milan Svoboda wrote:
> >
> > I use "old" eepro100 network device driver...
> >

Why?  Do you have problems with the e100 driver?  Just to let you know
that the eepro100 is scheduled for removal:

http://marc.theaimsgroup.com/?l=git-commits-head&m=114288220325419&w=2


>
> "old"?

>
> > Thank you for your answer, I look at it too...
> >
>
> eepro100 seems to be SMP safe, so it shouldn't be there.
> Have anyone else used eepro100 with preempt-realtime?

I use to use it a while back ago, when e100 would screw up my network
card. But that has been fixed so I don't use eepro100 and I would
recommend anyone else to switch to e100.

-- Steve


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29  7:01 Milan Svoboda
@ 2006-06-29 10:03 ` Esben Nielsen
  2006-06-29  9:21   ` Steven Rostedt
  0 siblings, 1 reply; 17+ messages in thread
From: Esben Nielsen @ 2006-06-29 10:03 UTC (permalink / raw)
  To: Milan Svoboda; +Cc: Esben Nielsen, linux-kernel

On Thu, 29 Jun 2006, Milan Svoboda wrote:

>> #
>> # Tulip family network device support
>> #
>> # CONFIG_NET_TULIP is not set
>> # CONFIG_HP100 is not set
>> CONFIG_NET_PCI=y
>> # CONFIG_PCNET32 is not set
>> # CONFIG_AMD8111_ETH is not set
>> # CONFIG_ADAPTEC_STARFIRE is not set
>> # CONFIG_B44 is not set
>> # CONFIG_FORCEDETH is not set
>> # CONFIG_DGRS is not set
>> CONFIG_EEPRO100=y
>> # CONFIG_E100 is not set
>> # CONFIG_FEALNX is not set
>
> I use "old" eepro100 network device driver...
>

"old"?

> Thank you for your answer, I look at it too...
>

eepro100 seems to be SMP safe, so it shouldn't be there.
Have anyone else used eepro100 with preempt-realtime?

Anyway: I miss stack trace from the bugs. I don't know what to swich on at 
arm to get it to work - I think I remember getting stack traces years ago 
when I succeed in getting Linux 2.4 to run on a custom SA1110 based board. 
Try to swich on various debug like
  CONFIG_DEBUG_INFO
  CONFIG_UNWIND_INFO
  CONFIG_BUGVERBOSE
  CONFIG_FRAME_POINTER

Esben

> Milan
>
>
>
>
>
>
> Esben Nielsen <nielsen.esben@googlemail.com>
> 06/28/2006 07:02 PM
>
>
>        To:     Milan Svoboda <msvoboda@ra.rockwell.com>
>        cc:     linux-kernel@vger.kernel.org
>        Subject:        Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
>
>
> On Wed, 28 Jun 2006, Milan Svoboda wrote:
>
>> Hello,
>>
>> I tried this kernel on arm ixdp465, it works well, but I got many
>> of these messages:
>>
>> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
>> caller is rt_lock_slowlock+0xd8/0x1c8
>> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
>> caller is rt_lock_slowlock+0xd8/0x1c8
>> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
>> caller is rt_lock_slowlock+0xd8/0x1c8
>> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
>> caller is rt_lock_slowlock+0xd8/0x1c8
>> BUG: scheduling with irqs disabled: IRQ 25/0x00000000/683
>> caller is rt_lock_slowlock+0xd8/0x1c8
>>
>> # cat /proc/interrupts
>>           CPU0
>> 5:      29620   IXP4xx Timer Tick
>> 15:        876   serial
>> 25:       3813   eth0
>> Err:          0
>>
>
> Looks like a bug in your ethernet driver, which is?
> It could be that that driver is not SMP compliant and uses irq
> disable/enable
> as locking method instead of a spinlock.
>
> Esben
>
>> PS: Please CC me, I'm not subscribed...
>>
>> Best Regards,
>> Milan Svoboda
>>
>>
>>
>
>
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
@ 2006-06-29 10:17 Milan Svoboda
  2006-06-29 11:53 ` Russell King
  2006-06-29 12:40 ` Esben Nielsen
  0 siblings, 2 replies; 17+ messages in thread
From: Milan Svoboda @ 2006-06-29 10:17 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-kernel, Esben Nielsen

> >
> > > Thank you for your answer, I look at it too...
> > >
> >
> > eepro100 seems to be SMP safe, so it shouldn't be there.
> > Have anyone else used eepro100 with preempt-realtime?

> I use to use it a while back ago, when e100 would screw up my network
> card. But that has been fixed so I don't use eepro100 and I would
> recommend anyone else to switch to e100.

I have been using it because the same reason as you, but simply didn't
noticed that e100 works now ;-)
 
I switched to e100 and turned debug messages on and got many of these:

BUG: scheduling with irqs disabled: softirq-net-rx//0x00000000/6
caller is schedule+0x10/0x114
[<c0024e24>] (dump_stack+0x0/0x28) from [<c01ae528>] (schedule+0xf8/0x114)
[<c01ae430>] (schedule+0x0/0x114) from [<c01afb60>] 
(rt_lock_slowlock+0x100/0x240)
 r5 = C01F070C  r4 = C4150000
[<c01afa60>] (rt_lock_slowlock+0x0/0x240) from [<c01aff28>] 
(__lock_text_start+0x18/0x1c)
[<c01aff10>] (__lock_text_start+0x0/0x1c) from [<c0078b08>] 
(kfree+0x2c/0x84)
[<c0078adc>] (kfree+0x0/0x84) from [<c002aab0>] 
(dma_unmap_single+0x110/0x1a8)
 r5 = C4124BE0  r4 = C7C4B6E0
[<c002a9a0>] (dma_unmap_single+0x0/0x1a8) from [<c012766c>] 
(e100_poll+0x2e0/0x59c)
 r8 = C432A3A0  r7 = C41C9BA0  r6 = C41C9B60  r5 = 00000001
 r4 = FFC881C0
[<c012738c>] (e100_poll+0x0/0x59c) from [<c0148280>] 
(net_rx_action+0xa0/0x1a4)
[<c01481e0>] (net_rx_action+0x0/0x1a4) from [<c0039020>] 
(ksoftirqd+0x110/0x1b0)
[<c0038f10>] (ksoftirqd+0x0/0x1b0) from [<c00490d8>] (kthread+0x110/0x13c)
[<c0048fc8>] (kthread+0x0/0x13c) from [<c0035054>] (do_exit+0x0/0x998)
 r8 = 00000000  r7 = 00000000  r6 = 00000000  r5 = 00000000
 r4 = 00000000
---------------------------
| preempt count: 00000000 ]
| 0-level deep critical section nesting:
----------------------------------------

These messages are different as their source seems to be softirq-net-rx. I 
cannot reproduce
the original bug now...


PS: Is latency tracing working on arm platform? I'm unable to get this 
statistic...

Milan



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 10:17 [BUG] Linux-2.6.17-rt3 on arm ixdp465 Milan Svoboda
@ 2006-06-29 11:53 ` Russell King
  2006-06-29 12:40 ` Esben Nielsen
  1 sibling, 0 replies; 17+ messages in thread
From: Russell King @ 2006-06-29 11:53 UTC (permalink / raw)
  To: Milan Svoboda; +Cc: Steven Rostedt, linux-kernel, Esben Nielsen

On Thu, Jun 29, 2006 at 12:17:50PM +0200, Milan Svoboda wrote:
> BUG: scheduling with irqs disabled: softirq-net-rx//0x00000000/6
> caller is schedule+0x10/0x114
> [<c0024e24>] (dump_stack+0x0/0x28) from [<c01ae528>] (schedule+0xf8/0x114)
> [<c01ae430>] (schedule+0x0/0x114) from [<c01afb60>] 
> (rt_lock_slowlock+0x100/0x240)
>  r5 = C01F070C  r4 = C4150000
> [<c01afa60>] (rt_lock_slowlock+0x0/0x240) from [<c01aff28>] 
> (__lock_text_start+0x18/0x1c)
> [<c01aff10>] (__lock_text_start+0x0/0x1c) from [<c0078b08>] 
> (kfree+0x2c/0x84)
> [<c0078adc>] (kfree+0x0/0x84) from [<c002aab0>] 
> (dma_unmap_single+0x110/0x1a8)
>  r5 = C4124BE0  r4 = C7C4B6E0
> [<c002a9a0>] (dma_unmap_single+0x0/0x1a8) from [<c012766c>] 
> (e100_poll+0x2e0/0x59c)

Might be fixed in the latest kernel.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 12:40 ` Esben Nielsen
@ 2006-06-29 12:09   ` Steven Rostedt
  2006-06-29 12:25     ` Russell King
  2006-06-30 18:50     ` Ingo Molnar
  0 siblings, 2 replies; 17+ messages in thread
From: Steven Rostedt @ 2006-06-29 12:09 UTC (permalink / raw)
  To: Esben Nielsen
  Cc: Milan Svoboda, LKML, Deepak Saxena, Ingo Molnar, Thomas Gleixner



On Thu, 29 Jun 2006, Esben Nielsen wrote:

>
> On Thu, 29 Jun 2006, Milan Svoboda wrote:
>
>
> It seems that dma_unmap_single() on arm contains
>  	local_irq_save(flags);
>
>  	unmap_single(dev, dma_addr, size, dir);
>
>  	local_irq_restore(flags);
>

Yeah I saw this too.

> I don't know the dma code on arm. It doesn't look like a per-cpu code but it
> seems to me that it is not SMP safe and therefore not preempt-realtime
> safe, either.
>
> The hard thing is to figure out which datastructures exactly is protected
> by those irq-disable and put in a spinlock..
>
> I added Deepak Saxena on CC as he seems to be the last one who touched the
> file.
>

Well, the following patch may not be the best but I don't see it being any
worse than what is already there.  I don't have any arm platforms or even
an arm compiler, so I haven't even tested this patch with a compile.  But
it should be at least a temporary fix.

-- Steve

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

Index: linux-2.6.17-rt4/arch/arm/common/dmabounce.c
===================================================================
--- linux-2.6.17-rt4.orig/arch/arm/common/dmabounce.c	2006-06-29 07:56:54.000000000 -0400
+++ linux-2.6.17-rt4/arch/arm/common/dmabounce.c	2006-06-29 08:04:42.000000000 -0400
@@ -386,6 +386,8 @@ sync_single(struct device *dev, dma_addr

 /* ************************************************** */

+static DEFINE_SPINLOCK(dma_lock);
+
 /*
  * see if a buffer address is in an 'unsafe' range.  if it is
  * allocate a 'safe' buffer and copy the unsafe buffer into it.
@@ -404,11 +406,11 @@ dma_map_single(struct device *dev, void

 	BUG_ON(dir == DMA_NONE);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	dma_addr = map_single(dev, ptr, size, dir);

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);

 	return dma_addr;
 }
@@ -431,11 +433,11 @@ dma_unmap_single(struct device *dev, dma

 	BUG_ON(dir == DMA_NONE);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	unmap_single(dev, dma_addr, size, dir);

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);
 }

 int
@@ -450,7 +452,7 @@ dma_map_sg(struct device *dev, struct sc

 	BUG_ON(dir == DMA_NONE);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	for (i = 0; i < nents; i++, sg++) {
 		struct page *page = sg->page;
@@ -462,7 +464,7 @@ dma_map_sg(struct device *dev, struct sc
 			map_single(dev, ptr, length, dir);
 	}

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);

 	return nents;
 }
@@ -479,7 +481,7 @@ dma_unmap_sg(struct device *dev, struct

 	BUG_ON(dir == DMA_NONE);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	for (i = 0; i < nents; i++, sg++) {
 		dma_addr_t dma_addr = sg->dma_address;
@@ -488,7 +490,7 @@ dma_unmap_sg(struct device *dev, struct
 		unmap_single(dev, dma_addr, length, dir);
 	}

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);
 }

 void
@@ -500,11 +502,11 @@ dma_sync_single_for_cpu(struct device *d
 	dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n",
 		__func__, (void *) dma_addr, size, dir);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	sync_single(dev, dma_addr, size, dir);

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);
 }

 void
@@ -516,11 +518,11 @@ dma_sync_single_for_device(struct device
 	dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n",
 		__func__, (void *) dma_addr, size, dir);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	sync_single(dev, dma_addr, size, dir);

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);
 }

 void
@@ -535,7 +537,7 @@ dma_sync_sg_for_cpu(struct device *dev,

 	BUG_ON(dir == DMA_NONE);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	for (i = 0; i < nents; i++, sg++) {
 		dma_addr_t dma_addr = sg->dma_address;
@@ -544,7 +546,7 @@ dma_sync_sg_for_cpu(struct device *dev,
 		sync_single(dev, dma_addr, length, dir);
 	}

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);
 }

 void
@@ -559,7 +561,7 @@ dma_sync_sg_for_device(struct device *de

 	BUG_ON(dir == DMA_NONE);

-	local_irq_save(flags);
+	spin_lock_irqsave(&dma_lock, flags);

 	for (i = 0; i < nents; i++, sg++) {
 		dma_addr_t dma_addr = sg->dma_address;
@@ -568,7 +570,7 @@ dma_sync_sg_for_device(struct device *de
 		sync_single(dev, dma_addr, length, dir);
 	}

-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&dma_lock, flags);
 }

 static int

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 12:09   ` Steven Rostedt
@ 2006-06-29 12:25     ` Russell King
  2006-06-29 12:49       ` Steven Rostedt
  2006-06-30 18:50     ` Ingo Molnar
  1 sibling, 1 reply; 17+ messages in thread
From: Russell King @ 2006-06-29 12:25 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Esben Nielsen, Milan Svoboda, LKML, Deepak Saxena, Ingo Molnar,
	Thomas Gleixner

On Thu, Jun 29, 2006 at 08:09:24AM -0400, Steven Rostedt wrote:
> 
> 
> On Thu, 29 Jun 2006, Esben Nielsen wrote:
> 
> >
> > On Thu, 29 Jun 2006, Milan Svoboda wrote:
> >
> >
> > It seems that dma_unmap_single() on arm contains
> >  	local_irq_save(flags);
> >
> >  	unmap_single(dev, dma_addr, size, dir);
> >
> >  	local_irq_restore(flags);
> >
> 
> Yeah I saw this too.
> 
> > I don't know the dma code on arm. It doesn't look like a per-cpu code but it
> > seems to me that it is not SMP safe and therefore not preempt-realtime
> > safe, either.
> >
> > The hard thing is to figure out which datastructures exactly is protected
> > by those irq-disable and put in a spinlock..
> >
> > I added Deepak Saxena on CC as he seems to be the last one who touched the
> > file.
> >
> 
> Well, the following patch may not be the best but I don't see it being any
> worse than what is already there.  I don't have any arm platforms or even
> an arm compiler, so I haven't even tested this patch with a compile.  But
> it should be at least a temporary fix.

Guys, look at what's in the latest -git from Linus.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29  9:21   ` Steven Rostedt
@ 2006-06-29 12:30     ` Esben Nielsen
  0 siblings, 0 replies; 17+ messages in thread
From: Esben Nielsen @ 2006-06-29 12:30 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Esben Nielsen, Milan Svoboda, linux-kernel



On Thu, 29 Jun 2006, Steven Rostedt wrote:

>
> On Thu, 29 Jun 2006, Esben Nielsen wrote:
>
>> On Thu, 29 Jun 2006, Milan Svoboda wrote:
>>>
>>> I use "old" eepro100 network device driver...
>>>
>
> Why?  Do you have problems with the e100 driver?  Just to let you know
> that the eepro100 is scheduled for removal:
>
> http://marc.theaimsgroup.com/?l=git-commits-head&m=114288220325419&w=2
>
>
>>
>> "old"?
>
>>
>>> Thank you for your answer, I look at it too...
>>>
>>
>> eepro100 seems to be SMP safe, so it shouldn't be there.
>> Have anyone else used eepro100 with preempt-realtime?
>
> I use to use it a while back ago, when e100 would screw up my network
> card. But that has been fixed so I don't use eepro100 and I would
> recommend anyone else to switch to e100.

And I use that one on my labtop with preempt-realtime with no problems.
There is an error in arch/arm/configs/ixp4xx_defconfig then: It ought to 
default to e100 instead of eepro100.

Esben

>
> -- Steve
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 10:17 [BUG] Linux-2.6.17-rt3 on arm ixdp465 Milan Svoboda
  2006-06-29 11:53 ` Russell King
@ 2006-06-29 12:40 ` Esben Nielsen
  2006-06-29 12:09   ` Steven Rostedt
  1 sibling, 1 reply; 17+ messages in thread
From: Esben Nielsen @ 2006-06-29 12:40 UTC (permalink / raw)
  To: Milan Svoboda; +Cc: Steven Rostedt, linux-kernel, Deepak Saxena



On Thu, 29 Jun 2006, Milan Svoboda wrote:

>>>
>>>> Thank you for your answer, I look at it too...
>>>>
>>>
>>> eepro100 seems to be SMP safe, so it shouldn't be there.
>>> Have anyone else used eepro100 with preempt-realtime?
>
>> I use to use it a while back ago, when e100 would screw up my network
>> card. But that has been fixed so I don't use eepro100 and I would
>> recommend anyone else to switch to e100.
>
> I have been using it because the same reason as you, but simply didn't
> noticed that e100 works now ;-)
>
> I switched to e100 and turned debug messages on and got many of these:
>
> BUG: scheduling with irqs disabled: softirq-net-rx//0x00000000/6
> caller is schedule+0x10/0x114
> [<c0024e24>] (dump_stack+0x0/0x28) from [<c01ae528>] (schedule+0xf8/0x114)
> [<c01ae430>] (schedule+0x0/0x114) from [<c01afb60>]
> (rt_lock_slowlock+0x100/0x240)
> r5 = C01F070C  r4 = C4150000
> [<c01afa60>] (rt_lock_slowlock+0x0/0x240) from [<c01aff28>]
> (__lock_text_start+0x18/0x1c)
> [<c01aff10>] (__lock_text_start+0x0/0x1c) from [<c0078b08>]
> (kfree+0x2c/0x84)
> [<c0078adc>] (kfree+0x0/0x84) from [<c002aab0>]
> (dma_unmap_single+0x110/0x1a8)
> r5 = C4124BE0  r4 = C7C4B6E0
> [<c002a9a0>] (dma_unmap_single+0x0/0x1a8) from [<c012766c>]
> (e100_poll+0x2e0/0x59c)
> r8 = C432A3A0  r7 = C41C9BA0  r6 = C41C9B60  r5 = 00000001
> r4 = FFC881C0
> [<c012738c>] (e100_poll+0x0/0x59c) from [<c0148280>]
> (net_rx_action+0xa0/0x1a4)
> [<c01481e0>] (net_rx_action+0x0/0x1a4) from [<c0039020>]
> (ksoftirqd+0x110/0x1b0)
> [<c0038f10>] (ksoftirqd+0x0/0x1b0) from [<c00490d8>] (kthread+0x110/0x13c)
> [<c0048fc8>] (kthread+0x0/0x13c) from [<c0035054>] (do_exit+0x0/0x998)
> r8 = 00000000  r7 = 00000000  r6 = 00000000  r5 = 00000000
> r4 = 00000000
> ---------------------------
> | preempt count: 00000000 ]
> | 0-level deep critical section nesting:
> ----------------------------------------
>

It seems that dma_unmap_single() on arm contains
 	local_irq_save(flags);

 	unmap_single(dev, dma_addr, size, dir);

 	local_irq_restore(flags);

I don't know the dma code on arm. It doesn't look like a per-cpu code but it
seems to me that it is not SMP safe and therefore not preempt-realtime 
safe, either.

The hard thing is to figure out which datastructures exactly is protected 
by those irq-disable and put in a spinlock..

I added Deepak Saxena on CC as he seems to be the last one who touched the 
file.


Esben

> These messages are different as their source seems to be softirq-net-rx. I
> cannot reproduce
> the original bug now...
>
>
> PS: Is latency tracing working on arm platform? I'm unable to get this
> statistic...
>
> Milan
>
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 12:25     ` Russell King
@ 2006-06-29 12:49       ` Steven Rostedt
  2006-06-29 13:31         ` Russell King
  2006-06-30  6:46         ` Russell King
  0 siblings, 2 replies; 17+ messages in thread
From: Steven Rostedt @ 2006-06-29 12:49 UTC (permalink / raw)
  To: Russell King
  Cc: Esben Nielsen, Milan Svoboda, LKML, Deepak Saxena, Ingo Molnar,
	Thomas Gleixner


Hi Russell,

Thanks for replying!


On Thu, 29 Jun 2006, Russell King wrote:

> On Thu, Jun 29, 2006 at 08:09:24AM -0400, Steven Rostedt wrote:
> >
> > Well, the following patch may not be the best but I don't see it being any
> > worse than what is already there.  I don't have any arm platforms or even
> > an arm compiler, so I haven't even tested this patch with a compile.  But
> > it should be at least a temporary fix.
>
> Guys, look at what's in the latest -git from Linus.
>

Yep, this looks like a non issue when 2.6.18(-rcX?) comes out, and Ingo
updates his -rt patch against it.

I did say what I had wasn't the best and only a temporary fix.  But I
guess it can still work as a temporary solution until 2.6.18-rt1, where
we will have the fixes from Linus's tree.

Now maybe a copy of the arch/arm/common/dmabounce.c from git to Ingo's -rt
patch will work out of the box too. But I don't know what other changes
are dependent on that.

Thanks,

-- Steve



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 12:49       ` Steven Rostedt
@ 2006-06-29 13:31         ` Russell King
  2006-06-30  6:46         ` Russell King
  1 sibling, 0 replies; 17+ messages in thread
From: Russell King @ 2006-06-29 13:31 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Esben Nielsen, Milan Svoboda, LKML, Deepak Saxena, Ingo Molnar,
	Thomas Gleixner

On Thu, Jun 29, 2006 at 08:49:04AM -0400, Steven Rostedt wrote:
> On Thu, 29 Jun 2006, Russell King wrote:
> > On Thu, Jun 29, 2006 at 08:09:24AM -0400, Steven Rostedt wrote:
> > >
> > > Well, the following patch may not be the best but I don't see it being any
> > > worse than what is already there.  I don't have any arm platforms or even
> > > an arm compiler, so I haven't even tested this patch with a compile.  But
> > > it should be at least a temporary fix.
> >
> > Guys, look at what's in the latest -git from Linus.
> 
> Yep, this looks like a non issue when 2.6.18(-rcX?) comes out, and Ingo
> updates his -rt patch against it.
> 
> I did say what I had wasn't the best and only a temporary fix.  But I
> guess it can still work as a temporary solution until 2.6.18-rt1, where
> we will have the fixes from Linus's tree.
> 
> Now maybe a copy of the arch/arm/common/dmabounce.c from git to Ingo's -rt
> patch will work out of the box too. But I don't know what other changes
> are dependent on that.

Well, that fix was submitted to me as a fix for dmabounce.c on -rt, so
one assumes that it's already been tested there and proven to resolve
the issue.  Maybe Ingo ought to merge it as well.  It can be found
via:

	commit 823588c18689ddd49d4643eda7654302f18a275f
or	ARM patch 3537/1

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 12:49       ` Steven Rostedt
  2006-06-29 13:31         ` Russell King
@ 2006-06-30  6:46         ` Russell King
  1 sibling, 0 replies; 17+ messages in thread
From: Russell King @ 2006-06-30  6:46 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Esben Nielsen, Milan Svoboda, LKML, Deepak Saxena, Ingo Molnar,
	Thomas Gleixner

On Thu, Jun 29, 2006 at 08:49:04AM -0400, Steven Rostedt wrote:
> Hi Russell,
> 
> Thanks for replying!

Please fix your email - I'm getting nothing but the following from
your mail servers:

2006-06-30 02:41:14 1FvwcO-0005b6-Rr == rostedt@goodmis.org R=dnslookup
 T=verp_smtp defer (-44): SMTP error from remote mail server after
 RCPT TO:<rostedt@goodmis.org>: host inbound.goodmis.org.emailmx.com
 [216.40.36.30]: 472 Validating Sender

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-29 12:09   ` Steven Rostedt
  2006-06-29 12:25     ` Russell King
@ 2006-06-30 18:50     ` Ingo Molnar
  2006-06-30 19:00       ` Russell King
  1 sibling, 1 reply; 17+ messages in thread
From: Ingo Molnar @ 2006-06-30 18:50 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Esben Nielsen, Milan Svoboda, LKML, Deepak Saxena,
	Thomas Gleixner, Russell King


* Steven Rostedt <rostedt@goodmis.org> wrote:

> Well, the following patch may not be the best but I don't see it being 
> any worse than what is already there.  I don't have any arm platforms 
> or even an arm compiler, so I haven't even tested this patch with a 
> compile.  But it should be at least a temporary fix.

thanks - i've applied this to -rt, we'll drop it once we rebase to 
2.6.18-rc.

	Ingo

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-30 18:50     ` Ingo Molnar
@ 2006-06-30 19:00       ` Russell King
  2006-06-30 19:01         ` Ingo Molnar
  0 siblings, 1 reply; 17+ messages in thread
From: Russell King @ 2006-06-30 19:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Steven Rostedt, Esben Nielsen, Milan Svoboda, LKML, Deepak Saxena,
	Thomas Gleixner

On Fri, Jun 30, 2006 at 08:50:46PM +0200, Ingo Molnar wrote:
> 
> * Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > Well, the following patch may not be the best but I don't see it being 
> > any worse than what is already there.  I don't have any arm platforms 
> > or even an arm compiler, so I haven't even tested this patch with a 
> > compile.  But it should be at least a temporary fix.
> 
> thanks - i've applied this to -rt, we'll drop it once we rebase to 
> 2.6.18-rc.

Why not apply the one already in mainline which _has_ been tested to
fix this issue!?!?!

Am I talking to myself here?  I've said this three times now, including
this message.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
  2006-06-30 19:00       ` Russell King
@ 2006-06-30 19:01         ` Ingo Molnar
  0 siblings, 0 replies; 17+ messages in thread
From: Ingo Molnar @ 2006-06-30 19:01 UTC (permalink / raw)
  To: Russell King, Steven Rostedt, Esben Nielsen, Milan Svoboda, LKML,
	Deepak Saxena, Thomas Gleixner


* Russell King <rmk+lkml@arm.linux.org.uk> wrote:

> > thanks - i've applied this to -rt, we'll drop it once we rebase to 
> > 2.6.18-rc.
> 
> Why not apply the one already in mainline which _has_ been tested to 
> fix this issue!?!?!

sorry! I applied your patch and it's now in -rt5 that i just released.

	Ingo

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2006-06-30 19:06 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-29 10:17 [BUG] Linux-2.6.17-rt3 on arm ixdp465 Milan Svoboda
2006-06-29 11:53 ` Russell King
2006-06-29 12:40 ` Esben Nielsen
2006-06-29 12:09   ` Steven Rostedt
2006-06-29 12:25     ` Russell King
2006-06-29 12:49       ` Steven Rostedt
2006-06-29 13:31         ` Russell King
2006-06-30  6:46         ` Russell King
2006-06-30 18:50     ` Ingo Molnar
2006-06-30 19:00       ` Russell King
2006-06-30 19:01         ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2006-06-29  7:01 Milan Svoboda
2006-06-29 10:03 ` Esben Nielsen
2006-06-29  9:21   ` Steven Rostedt
2006-06-29 12:30     ` Esben Nielsen
2006-06-28 15:05 Milan Svoboda
2006-06-28 17:02 ` Esben Nielsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox