Date: Fri, 23 Jul 1999 16:49:37 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: <hackers@FreeBSD.ORG> Subject: New patch fpr uipc_socket.c - any objections? Message-ID: <199907232349.QAA28517@apollo.backplane.com>
next in thread | raw e-mail | index | archive | help
Object now or forever hold your peace! Patch included again for
reference.
-Matt
Matthew Dillon
<dillon@backplane.com>
Index: uipc_socket.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/uipc_socket.c,v
retrieving revision 1.60
diff -u -r1.60 uipc_socket.c
--- uipc_socket.c 1999/06/17 23:54:47 1.60
+++ uipc_socket.c 1999/07/22 23:08:38
@@ -413,7 +413,8 @@
register struct mbuf *m;
register long space, len, resid;
int clen = 0, error, s, dontroute, mlen;
- int atomic = sosendallatonce(so) || top;
+ int atomic = sosendallatonce(so) || top; /* required atomicy */
+ int try_atomic = atomic; /* requested atomicy */
if (uio)
resid = uio->uio_resid;
@@ -518,6 +519,7 @@
mlen = MCLBYTES;
len = min(min(mlen, resid), space);
} else {
+ try_atomic = 1; /* try to optimize */
nopages:
len = min(min(mlen, resid), space);
/*
@@ -541,7 +543,7 @@
top->m_flags |= M_EOR;
break;
}
- } while (space > 0 && atomic);
+ } while (space > 0 && try_atomic);
if (dontroute)
so->so_options |= SO_DONTROUTE;
s = splnet(); /* XXX */
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907232349.QAA28517>
