From owner-freebsd-questions@FreeBSD.ORG Mon Feb 7 00:49:27 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 60D7C16A4CE for ; Mon, 7 Feb 2005 00:49:27 +0000 (GMT) Received: from cyrus.watson.org (cyrus.watson.org [204.156.12.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F2B943D2F for ; Mon, 7 Feb 2005 00:49:27 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by cyrus.watson.org (Postfix) with SMTP id DAA3746B40; Sun, 6 Feb 2005 19:49:26 -0500 (EST) Date: Mon, 7 Feb 2005 00:48:30 +0000 (GMT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Jon Drews In-Reply-To: <8cb27cbf05020614334a3978cd@mail.gmail.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: FreeBSD Questions Subject: Re: What does sbwait mean in top ? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 00:49:27 -0000 On Sun, 6 Feb 2005, Jon Drews wrote: > What does sbwait mean in top? Is it related to a sysctl setting? I have > looked in the man page for top, at William LeFebvres site ( > http://www.groupsys.com/top ), in Evi Nemeth's "UNIX System > Administration Handbook" and Googled in general. Does anyone know of a > URL that gives an explanation of sbwait and for that matter semwait too. The sbwait wchan is present when a thread has invoked the in-kernel sbwait() function to wait for a socket event. It's used in a number of situations, but the main ones are: - The thread is trying to send on a blocking socket, but there's insufficient socket buffer space, so it must wait for space. This might occur if it has managead to max out the bandwidth available to a TCP connection, or flow control is in use and the receiver does not wish to receive more data yet. - The thread is trying to receive on a blocking socket, but there's not enough data to satisfy the read request, so it must wait for data to be received. It might be waiting for a remote TCP sender to have data available, or for in-flight data to arrive. Robert N M Watson