Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/kern Wait for freeing mbuf cluster in sosend() causes fr...
details: https://anonhg.NetBSD.org/src/rev/6f565af69a20
branches: trunk
changeset: 758015:6f565af69a20
user: oki <oki%NetBSD.org@localhost>
date: Thu Oct 14 03:07:51 2010 +0000
description:
Wait for freeing mbuf cluster in sosend() causes freeze network stack.
Don't wait for it.
problem was found by iij seil team.
it is similar to OpenBSD uipc_socket.c rev.1.72.
diffstat:
sys/kern/uipc_socket.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diffs (27 lines):
diff -r e128a3ee977f -r 6f565af69a20 sys/kern/uipc_socket.c
--- a/sys/kern/uipc_socket.c Thu Oct 14 00:47:16 2010 +0000
+++ b/sys/kern/uipc_socket.c Thu Oct 14 03:07:51 2010 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_socket.c,v 1.200 2009/12/30 22:12:12 elad Exp $ */
+/* $NetBSD: uipc_socket.c,v 1.201 2010/10/14 03:07:51 oki Exp $ */
/*-
* Copyright (c) 2002, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -63,7 +63,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.200 2009/12/30 22:12:12 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.201 2010/10/14 03:07:51 oki Exp $");
#include "opt_compat_netbsd.h"
#include "opt_sock_counters.h"
@@ -1022,7 +1022,7 @@
}
if (resid >= MINCLSIZE && space >= MCLBYTES) {
SOSEND_COUNTER_INCR(&sosend_copy_big);
- m_clget(m, M_WAIT);
+ m_clget(m, M_DONTWAIT);
if ((m->m_flags & M_EXT) == 0)
goto nopages;
mlen = MCLBYTES;
Home |
Main Index |
Thread Index |
Old Index