> From: Gary Funck > Sent: Saturday, July 15, 2006 10:07 AM > > A test program which allocates about 256M of MAP_ANONYMOUS mmap memory, > and then spawns 4 processess, where each process i writes to 1/4 of the > mapped memory, and then reads the memory written by > the process (i + 1)%4, triggers a soft lockup, when exiting. > Hardware: > dual core dual Opteron 275 (Tyan motherboard, 4G physical memory) > has been rock solid reliable. > > BUG: soft lockup detected on CPU#3! Follow up, the attached test program, when compiled on FC5 with the 2.6.17-1.2145 kernel will cause lost timer ticks, lost RS-232 interrupts, and often will lead to the soft lockup situation shown below: BUG: soft lockup detected on CPU#0! Call Trace: {softlockup_tick+219} {update_process_times+66} {smp_local_timer_interrupt+35} {smp_apic_timer_interrupt+65} {apic_timer_interrupt+135} {__set_page_dirty_nobuffers+0} {release_pages+111} {thread_return+0} {thread_return+94} {__set_page_dirty_nobuffers+0} {__set_page_dirty_nobuffers+0} {free_pages_and_swap_cache+115} {unmap_vmas+1145} {exit_mmap+120} {mmput+44} {do_exit+599} {debug_mutex_init+0} {tracesys+209} After compiling the code, A continuous loop like the following, seems to eventually lead to the soft lockup situation (FC5, x86_64) shown above: while true; do a.out done