From owner-freebsd-current@FreeBSD.ORG Mon Mar 14 10:38:18 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 150A4106566B for ; Mon, 14 Mar 2011 10:38:18 +0000 (UTC) (envelope-from fabien.thomas@netasq.com) Received: from work.netasq.com (mars.netasq.com [91.212.116.3]) by mx1.freebsd.org (Postfix) with ESMTP id A395A8FC12 for ; Mon, 14 Mar 2011 10:38:17 +0000 (UTC) Received: from [10.20.1.1] (unknown [10.2.1.1]) by work.netasq.com (Postfix) with ESMTPSA id 6F529740004 for ; Mon, 14 Mar 2011 11:36:19 +0100 (CET) From: Fabien Thomas Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Mon, 14 Mar 2011 11:38:15 +0100 Message-Id: To: freebsd-current@freebsd.org Mime-Version: 1.0 (Apple Message framework v1082) X-Mailer: Apple Mail (2.1082) Subject: Deadlock on stable fixed on head X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2011 10:38:18 -0000 I'm debugging a deadlock on FreeBSD that is not on head but on 7.3, 8.2... Maybe someone will have an idea on what patch fixed it. Context: 1 - On a UP machine (Multicore without SMP option or UP with SMP). 2 - When using device apic (more on this later) 3 - Using DEVICE_POLLING (more on this later) 4- HZ set to 2000 Launching a CPU intensive task freeze the box (burnP6 from cpuburn port) nearly 100% chance of success. This can be reproduced on very different HW so it is software related. Reproduced on i386 / amd64. Current analysis status: 1 - having >1 CPU and SMP enabled avoid the deadlock 2 - apic enable the problem when using critical_exit (using isa/clock does not have critical_exit and then works) 3 - this is not the polling itself but the scheduling of the thread only 4 - no idea So to sum up it seems related to a scheduling issue. I've got some info from a 8.2 that can enter ddb (7.3 will not enter ddb) [1] If someone have an idea / fixed something related, etc... tell me :) [1] http://people.freebsd.org/~fabient/burnP6_deadlock.txt -- Fabien Thomas