From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <39CB8B13.391C067D@asplinux.ru> Date: Fri, 22 Sep 2000 20:38:43 +0400 From: Yuri Pudgorodsky MIME-Version: 1.0 Subject: test9-pre3+t9p2-vmpatch VM deadlock during socket I/O References: <20000922151020.A653@post.netlink.se> <20000922161055.A1088@post.netlink.se> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org Return-Path: To: =?iso-8859-1?Q?Andr=E9?= Dahlqvist Cc: Rik van Riel , Molnar Ingo , "David S. Miller" , torvalds@transmeta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org List-ID: I also encounter instant lockup of test9-pre3 + t9p2-vmpatch / SMP (two CPU). under high I/O via UNIX domain sockets: - running 10 simple tasks doing #define BUFFERSIZE 204800 for (j = 0; ; j++) { if (socketpair(PF_LOCAL, SOCK_STREAM, 0, p) == -1) { exit(1); } fcntl(p[0], F_SETFL, O_NONBLOCK); fcntl(p[1], F_SETFL, O_NONBLOCK); write(p[0], crap, BUFFERSIZE); write(p[1], crap, BUFFERSIZE); } So it looks like swap_out() cannot obtain lock_kernel() holded by a swap_out() on a second CPU.... See below. Call trace (looks very similar on both CPU): Trace; c020aa3e (called from c0133eb4 ) Trace; c0133eb4 args (6, 3, 0) Trace; c0134e50 args (3, 1) Trace; c0134f75 args (3,1) Trace; c0135168 Trace; c0135d72 <__alloc_pages+1d6/264> Trace; c0135e17 <__get_free_pages+17/28> Trace; c01322ce .... Under lockup, memory map looks like: Active: 121 Inactive_dirty: 12217 Inactive_clean: 0 free: 12210 (256 512 768) and does not change from time to time. Most frequent EIP locations (from Sys-AltRq/P): Trace; c0133f74 Trace; c0133f23 Trace; c0134039 Trace; c020aa37 Trace; c020aa3e In a hope for a quick fix, Yuri Pudgorodsky -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux.eu.org/Linux-MM/