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 ...
Alfred Perlstein
alfred at freebsd.org
Tue Mar 25 11:01:52 PDT 2008
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 <ru at FreeBSD.org> [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
More information about the cvs-src
mailing list