From owner-freebsd-bugs@FreeBSD.ORG Tue Aug 5 23:50:02 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8809F1065670 for ; Tue, 5 Aug 2008 23:50:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 646F68FC1F for ; Tue, 5 Aug 2008 23:50:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m75No2qp021462 for ; Tue, 5 Aug 2008 23:50:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m75No1gs021461; Tue, 5 Aug 2008 23:50:01 GMT (envelope-from gnats) Resent-Date: Tue, 5 Aug 2008 23:50:01 GMT Resent-Message-Id: <200808052350.m75No1gs021461@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Jakub Jasinski Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 103D71065671 for ; Tue, 5 Aug 2008 23:41:44 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id F2DC88FC14 for ; Tue, 5 Aug 2008 23:41:43 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m75NfhJ4085976 for ; Tue, 5 Aug 2008 23:41:43 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m75Nfh40085975; Tue, 5 Aug 2008 23:41:43 GMT (envelope-from nobody) Message-Id: <200808052341.m75Nfh40085975@www.freebsd.org> Date: Tue, 5 Aug 2008 23:41:43 GMT From: Jakub Jasinski To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/126289: select() apparently consumes cpu when it should not X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Aug 2008 23:50:02 -0000 >Number: 126289 >Category: kern >Synopsis: select() apparently consumes cpu when it should not >Confidential: no >Severity: non-critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 05 23:50:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Jakub Jasinski >Release: 7.0 >Organization: >Environment: FreeBSD mail2.parkin.ca 7.0-RELEASE FreeBSD 7.0-RELEASE #4: Tue Aug 5 19:09:47 EDT 2008 admin@mail2.parkin.ca:/usr/obj/usr/src/sys/CUSTOM amd64 >Description: Refer to http://www.freebsd.org/cgi/query-pr.cgi?pr=126230 select() consumes cpu when it should not. >How-To-Repeat: Run the sample select program (or any other program that select-s) while rsync-ing and a.out will consume >1% cpu: #include #include #include #include int main(void) { fd_set rfds; struct timeval tv; int retval; FD_ZERO(&rfds); FD_SET(0, &rfds); tv.tv_sec = 120; tv.tv_usec = 0; retval = select(1, &rfds, NULL, NULL, &tv); if (retval == -1) perror("select()"); else if (retval) printf("Data is available now.\n"); else printf("No data within 120 seconds.\n"); return 0; } >Fix: >Release-Note: >Audit-Trail: >Unformatted: