From owner-freebsd-hackers Thu Apr 22 10:54:23 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (Postfix) with ESMTP id 2A68F14F0C for ; Thu, 22 Apr 1999 10:54:20 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id KAA15876; Thu, 22 Apr 1999 10:51:50 -0700 (PDT) (envelope-from dillon) Date: Thu, 22 Apr 1999 10:51:50 -0700 (PDT) From: Matthew Dillon Message-Id: <199904221751.KAA15876@apollo.backplane.com> To: "David E. Cross" , freebsd-hackers@FreeBSD.ORG, crossd@cs.rpi.edu Subject: Re: Deadlock on -stable References: <199904221506.LAA10662@cs.rpi.edu> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :Ok, take 2: : :USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND UID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT TIME COMMAND :... Ok, the ps plus the stack backtrace makes it fairly obvious to me what is going on. Your program is using fcntl locks, right? What it is doing is creating thousands or tens of thousands of separate fcntl locks and never unlocking them. The kernel is eating a huge amount of time scanning the lists, and this is bringing the rest of the system to a grinding halt. Are you by chance attempting to create a lock in one process and unlock it another? That will NOT work for a fcntl lock. Alternatively, you may not be unlocking the locks at all or you may not be unlocking the same (offset,byte) range that you locked, which could leave a lock fragment linked in. I would look at the locking portion of the code very closely. -Matt Matthew Dillon :David Cross | email: crossd@cs.rpi.edu :Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message