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 <[EMAIL PROTECTED]> [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 _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"