Darren,
Without the following patch I am experiencing soft lockups on RHEL 5.3 - Linux
2.6.18...
*** ipfilter/ip_compat.h 2009-07-21 21:42:57.000000000 -0400
--- ipfilter-4-1-RELEASE._patched/ip_compat.h 2009-07-27 11:21:56.000000000
-0400
***************
*** 1218,1225 ****
# define KRWLOCK_T rwlock_t
# define KMUTEX_T spinlock_t
# define MUTEX_INIT(x,y) spin_lock_init(&(x)->ipf_lk)
! # define MUTEX_ENTER(x) spin_lock(&(x)->ipf_lk)
! # define MUTEX_EXIT(x) spin_unlock(&(x)->ipf_lk)
# define MUTEX_DESTROY(x) do { } while (0)
# define MUTEX_NUKE(x) bzero(&(x)->ipf_lk, sizeof((x)->ipf_lk))
# define READ_ENTER(x) ipf_read_enter(x)
--- 1218,1225 ----
# define KRWLOCK_T rwlock_t
# define KMUTEX_T spinlock_t
# define MUTEX_INIT(x,y) spin_lock_init(&(x)->ipf_lk)
! # define MUTEX_ENTER(x) spin_lock_bh(&(x)->ipf_lk)
! # define MUTEX_EXIT(x) spin_unlock_bh(&(x)->ipf_lk)
# define MUTEX_DESTROY(x) do { } while (0)
# define MUTEX_NUKE(x) bzero(&(x)->ipf_lk, sizeof((x)->ipf_lk))
# define READ_ENTER(x) ipf_read_enter(x)
==================================
Pid: 3363, comm: sshd
EIP: 0060:[<c060ffd8>] CPU: 0
EIP is at _spin_lock+0x7/0xf
EFLAGS: 00000286 Tainted: P (2.6.18-128.1.10.el5 #1)
EAX: e1aa9dbc EBX: e1aa9e48 ECX: db1a8820 EDX: 00000004
ESI: 00000004 EDI: c0734e84 EBP: 00000014 DS: 007b ES: 007b
CR0: 8005003b CR2: ffffffff CR3: 17594000 CR4: 000006d0
[<e1a81392>] ipf_read_enter+0x12/0x30 [ipfilter]
[<e1a873fd>] fr_check+0x11d/0xb80 [ipfilter]
[<c042bfb5>] __mod_timer+0x99/0xa3
[<e1a81765>] ipf_linux_inout+0x75/0xc0 [ipfilter]
[<c05c9a1c>] nf_iterate+0x30/0x61
[<c05ce67c>] ip_rcv_finish+0x0/0x280
[<c05c9b42>] nf_hook_slow+0x3a/0x90
[<c05ce67c>] ip_rcv_finish+0x0/0x280
[<c05ced4d>] ip_rcv+0x202/0x4a9
[<c05ce67c>] ip_rcv_finish+0x0/0x280
[<c05b48bf>] netif_receive_skb+0x31a/0x33e
[<e097b05c>] e1000_clean_rx_irq+0x354/0x429 [e1000]
[<e097a133>] e1000_clean+0x6b/0x21f [e1000]
[<c05b6216>] net_rx_action+0x92/0x175
[<c0428bd3>] __do_softirq+0x87/0x114
[<c04073eb>] do_softirq+0x52/0x9c
[<c04059d7>] apic_timer_interrupt+0x1f/0x24
[<e1a87852>] fr_check+0x572/0xb80 [ipfilter]
[<e1a81765>] ipf_linux_inout+0x75/0xc0 [ipfilter]
[<c05c9a1c>] nf_iterate+0x30/0x61
[<c05d266d>] ip_finish_output+0x0/0x1db
[<c05c9b42>] nf_hook_slow+0x3a/0x90
[<c05d266d>] ip_finish_output+0x0/0x1db
[<c05d3934>] ip_output+0x82/0x266
[<c05d266d>] ip_finish_output+0x0/0x1db
[<c05d329a>] ip_queue_xmit+0x3cc/0x40b
[<c05e058c>] tcp_init_tso_segs+0x32/0x42
[<c05e5965>] tcp_v4_send_check+0x77/0xbd
[<c05e0e5c>] tcp_transmit_skb+0x5c7/0x5f5
[<c05b0dbd>] __alloc_skb+0x49/0xf4
[<c05e1006>] tcp_send_ack+0xde/0xe2
[<c05d9dad>] tcp_recvmsg+0x8e3/0x9f0
[<c06087fa>] unix_stream_sendmsg+0x251/0x317
[<c05ad46a>] sock_common_recvmsg+0x2f/0x45
[<c05aafb8>] do_sock_read+0xae/0xb7
[<c05ab54b>] sock_aio_read+0x53/0x61
[<c0472497>] do_sync_read+0xb6/0xf1
[<c043464f>] autoremove_wake_function+0x0/0x2d
[<c044a29f>] audit_syscall_entry+0x14b/0x17d
[<c0472db1>] vfs_read+0xb0/0x141
[<c04731ee>] sys_read+0x3c/0x63
[<c0404f17>] syscall_call+0x7/0xb
=======================