From owner-cvs-src@FreeBSD.ORG Tue Mar 25 18:01:52 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48663106566C; Tue, 25 Mar 2008 18:01:52 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 34E1D8FC19; Tue, 25 Mar 2008 18:01:52 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id 1B31B1A4D82; Tue, 25 Mar 2008 11:01:52 -0700 (PDT) Date: Tue, 25 Mar 2008 11:01:52 -0700 From: Alfred Perlstein To: Ruslan Ermilov Message-ID: <20080325180152.GB67856@elvis.mu.org> References: <200803250939.m2P9d3RC028128@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200803250939.m2P9d3RC028128@repoman.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/en midway.c src/sys/dev/fatm if_fatm.c src/sys/dev/firewire if_fwe.c if_fwip.c src/sys/dev/iscsi/initiator isc_soc.c src/sys/kern subr_mchain.c uipc_mbuf.c uipc_socket.c uipc_syscalls.c src/sys/net bpf.c ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Mar 2008 18:01:52 -0000 I don't think this was thought out enough, there are times when you would want to limit the total memory allocated to mbufs and avoid deadlocks in low memory situations. Even the old allocator could have been trivially modified to block forever upon exhaustion of the mbuf arena. The reason why the old allocator was not "fixed" to block forever was to allow for recovery from low memory deadlocks. A lot of work went into making the system safe in the face of these deadlocks and removing it "to clean up" due to a deficiency with the current allocator and without understanding why it was there in the first place is a mistake. This whole thing needs to be backed out. -Alfred * Ruslan Ermilov [080325 02:39] wrote: > ru 2008-03-25 09:39:02 UTC > > FreeBSD src repository > > Modified files: > sys/dev/en midway.c > sys/dev/fatm if_fatm.c > sys/dev/firewire if_fwe.c if_fwip.c > sys/dev/iscsi/initiator isc_soc.c > sys/kern subr_mchain.c uipc_mbuf.c uipc_socket.c > uipc_syscalls.c > sys/net bpf.c if_ef.c if_fddisubr.c > if_iso88025subr.c if_sl.c raw_cb.c > sys/netatalk aarp.c > sys/netatm port.h > sys/netinet ip_output.c > sys/netinet6 ip6_output.c > sys/netncp ncp_sock.c > sys/netsmb smb_iod.c smb_rq.c smb_trantcp.c > sys/nfs nfs_common.c > sys/nfsclient krpc_subr.c nfs_socket.c nfs_subs.c > sys/nfsserver nfs_serv.c nfs_srvcache.c nfs_srvsock.c > nfs_srvsubs.c nfs_syscalls.c > sys/pci if_mn.c > sys/rpc rpcclnt.c > sys/sys mbuf.h > share/man/man9 mbuf.9 > Log: > Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. > Removed dead code that assumed that M_TRYWAIT can return NULL; it's not true > since the advent of MBUMA. > > Reviewed by: arch > > There are ongoing disputes as to whether we want to switch to directly using > UMA flags M_WAITOK/M_NOWAIT for mbuf(9) allocation. > > Revision Changes Path > 1.67 +4 -14 src/share/man/man9/mbuf.9 > 1.74 +6 -20 src/sys/dev/en/midway.c > 1.24 +4 -14 src/sys/dev/fatm/if_fatm.c > 1.45 +4 -12 src/sys/dev/firewire/if_fwe.c > 1.17 +6 -14 src/sys/dev/firewire/if_fwip.c > 1.4 +3 -3 src/sys/dev/iscsi/initiator/isc_soc.c > 1.19 +7 -17 src/sys/kern/subr_mchain.c > 1.177 +1 -1 src/sys/kern/uipc_mbuf.c > 1.308 +12 -14 src/sys/kern/uipc_socket.c > 1.270 +8 -20 src/sys/kern/uipc_syscalls.c > 1.190 +4 -7 src/sys/net/bpf.c > 1.40 +2 -10 src/sys/net/if_ef.c > 1.106 +1 -3 src/sys/net/if_fddisubr.c > 1.77 +1 -3 src/sys/net/if_iso88025subr.c > 1.134 +2 -14 src/sys/net/if_sl.c > 1.35 +1 -1 src/sys/net/raw_cb.c > 1.46 +1 -3 src/sys/netatalk/aarp.c > 1.17 +1 -1 src/sys/netatm/port.h > 1.279 +1 -1 src/sys/netinet/ip_output.c > 1.118 +1 -1 src/sys/netinet6/ip6_output.c > 1.21 +1 -1 src/sys/netncp/ncp_sock.c > 1.20 +2 -2 src/sys/netsmb/smb_iod.c > 1.18 +1 -3 src/sys/netsmb/smb_rq.c > 1.28 +1 -3 src/sys/netsmb/smb_trantcp.c > 1.119 +2 -2 src/sys/nfs/nfs_common.c > 1.31 +6 -17 src/sys/nfsclient/krpc_subr.c > 1.159 +2 -2 src/sys/nfsclient/nfs_socket.c > 1.155 +10 -10 src/sys/nfsclient/nfs_subs.c > 1.180 +4 -4 src/sys/nfsserver/nfs_serv.c > 1.45 +2 -2 src/sys/nfsserver/nfs_srvcache.c > 1.108 +5 -5 src/sys/nfsserver/nfs_srvsock.c > 1.154 +2 -2 src/sys/nfsserver/nfs_srvsubs.c > 1.118 +2 -2 src/sys/nfsserver/nfs_syscalls.c > 1.50 +5 -26 src/sys/pci/if_mn.c > 1.21 +8 -8 src/sys/rpc/rpcclnt.c > 1.224 +2 -2 src/sys/sys/mbuf.h -- - Alfred Perlstein