svn commit: r272703 - projects/sendfile/sys/kern
Gleb Smirnoff
glebius at FreeBSD.org
Tue Oct 7 14:34:42 UTC 2014
Author: glebius
Date: Tue Oct 7 14:34:41 2014
New Revision: 272703
URL: https://svnweb.freebsd.org/changeset/base/272703
Log:
Inline sb_shift_nrdy().
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
Modified:
projects/sendfile/sys/kern/uipc_sockbuf.c
Modified: projects/sendfile/sys/kern/uipc_sockbuf.c
==============================================================================
--- projects/sendfile/sys/kern/uipc_sockbuf.c Tue Oct 7 14:30:24 2014 (r272702)
+++ projects/sendfile/sys/kern/uipc_sockbuf.c Tue Oct 7 14:34:41 2014 (r272703)
@@ -68,25 +68,6 @@ static u_long sb_efficiency = 8; /* para
static struct mbuf *sbcut_internal(struct sockbuf *sb, int len);
static void sbflush_internal(struct sockbuf *sb);
-static void
-sb_shift_nrdy(struct sockbuf *sb, struct mbuf *m)
-{
-
-#if 0 /* XXX: not yet: soclose() call path comes here w/o lock. */
- SOCKBUF_LOCK_ASSERT(sb);
-#endif
- KASSERT(m->m_flags & M_NOTREADY, ("%s: m %p !M_NOTREADY", __func__, m));
-
- m = m->m_next;
- while (m != NULL && !(m->m_flags & M_NOTREADY)) {
- m->m_flags &= ~M_BLOCKED;
- sb->sb_acc += m->m_len;
- m = m->m_next;
- }
-
- sb->sb_fnrdy = m;
-}
-
int
sbready(struct sockbuf *sb, struct mbuf *m, int count)
{
@@ -169,8 +150,18 @@ sbfree(struct sockbuf *sb, struct mbuf *
if (!(m->m_flags & M_NOTAVAIL))
sb->sb_acc -= m->m_len;
- if (sb->sb_fnrdy == m)
- sb_shift_nrdy(sb, m);
+ if (m == sb->sb_fnrdy) {
+ KASSERT(m->m_flags & M_NOTREADY,
+ ("%s: m %p !M_NOTREADY", __func__, m));
+
+ m = m->m_next;
+ while (m != NULL && !(m->m_flags & M_NOTREADY)) {
+ m->m_flags &= ~M_BLOCKED;
+ sb->sb_acc += m->m_len;
+ m = m->m_next;
+ }
+ sb->sb_fnrdy = m;
+ }
if (m->m_type != MT_DATA && m->m_type != MT_OOBDATA)
sb->sb_ctl -= m->m_len;
More information about the svn-src-projects
mailing list