From owner-freebsd-net@FreeBSD.ORG Sun Jul 20 19:51:31 2014 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9851B392; Sun, 20 Jul 2014 19:51:31 +0000 (UTC) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id 4EB9F25B9; Sun, 20 Jul 2014 19:51:30 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqYEAIUczFODaFve/2dsb2JhbABZDoNSW4J0wh4KhnFTAYEcdoQEAQEEAQEBICsgCxsYAgINGQIpAQkmBggHBAEcBIghDak2lnQXgSyNTgEBGzQHgniBTgWYNoQ8kmKDAl4hLwEGgQU5 X-IronPort-AV: E=Sophos;i="5.01,696,1400040000"; d="scan'208";a="142171454" Received: from muskoka.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.222]) by esa-jnhn.mail.uoguelph.ca with ESMTP; 20 Jul 2014 15:51:23 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 8AEF2B3F17; Sun, 20 Jul 2014 15:51:23 -0400 (EDT) Date: Sun, 20 Jul 2014 15:51:23 -0400 (EDT) From: Rick Macklem To: Garrett Wollman Message-ID: <1479705503.1118601.1405885883555.JavaMail.root@uoguelph.ca> In-Reply-To: <201407201556.s6KFuchL013781@hergotha.csail.mit.edu> Subject: Re: NFS client READ performance on -current MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.91.209] X-Mailer: Zimbra 7.2.6_GA_2926 (ZimbraWebClient - FF3.0 (Win)/7.2.6_GA_2926) Cc: jhb@freebsd.org, net@freebsd.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Jul 2014 19:51:31 -0000 Garrett Wollman wrote: > In article <201407151034.54681.jhb@freebsd.org>, jhb@freebsd.org > writes: > > >Hmm, I am surprised by the m_pullup() behavior that it doesn't just > >notice that the first mbuf with a cluster has the desired data > >already > >and returns without doing anything. > > The specification of m_pullup() is that it returns a *writable* mbuf > (and thus also that the "length" provided is less than MHLEN). > Clusters are read-only. > I suspect you already know this, but being nit-picky... I think the cluster starts out rw, but become M_RDONLY (not M_WRITABLE()) when copied by reference. Since that will happen in TCP before a segment gets handed to a device driver for transmission, I think it will always be M_RDONLY in the device driver's output function. Does that sound correct? rick > -GAWollman > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to > "freebsd-net-unsubscribe@freebsd.org" >