Date: Mon, 29 Oct 2001 11:03:51 +0900 From: Keiichi SHIMA / =?ISO-2022-JP?B?GyRCRWc3RDBsGyhC?= <keiichi@iij.ad.jp> To: Luigi Rizzo <rizzo@aciri.org> Cc: Bosko Milekic <bmilekic@technokratis.com>, David Malone <dwmalone@maths.tcd.ie>, Alfred Perlstein <bright@mu.org>, net@FreeBSD.ORG Subject: Re: performance issues with M_PREPEND on clusters Message-ID: <86ofmr2oe0.wl@keiichi01.osaka.iij.ad.jp> In-Reply-To: <20011026075001.C64631@iguana.aciri.org> References: <20011023110307.A34494@iguana.aciri.org> <20011023132813.I15052@elvis.mu.org> <20011023114650.C34494@iguana.aciri.org> <20011023140034.M15052@elvis.mu.org> <20011023140628.A36095@iguana.aciri.org> <20011023185759.A328@technokratis.com> <20011026110635.B14635@walton.maths.tcd.ie> <86u1wmlj1s.wl@keiichi01.osaka.iij.ad.jp> <20011026075001.C64631@iguana.aciri.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Luigi, Luigi Rizzo wrote: > > so i have a question for you -- the next step on this kind of > optimizations is to avoid that m_pullup() allocates an mbuf > when data is already contiguous and in a writable (non-shared) > cluster. > > Garret was suggesting a new interface for this, at the beginning > i thought the same, but now i am a bit uncertain on whether > it is really necessary to use a different interface, > or whether this would cause compatibility > problems with other BSD's. > > Maybe you have already thought about this issue while developing > the KAME code, and can say something on the topic ? Though I am not a mbuf expert, I try to state my understanding. (If some other KAME guys read this thread, please response.) As Bill already said, there are the code those rely on the side-effect of m_pullup() which ensure that the data is not shared. Our code also has such dependency. If we change the behaviour, probably we will have invisible bugs. The possible way is to introduce a new API that does as you are proposing, that is to pullup the mbuf regardless of their writability. In this case, we can use the new API in a new code to gain the performance. Also, the old code works with no problem. I think, if we want a new m_pullup, a new API is a better solution. --- Keiichi SHIMA IIJ Research Laboratory <keiichi@iij.ad.jp> KAME Project <keiichi@kame.net> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86ofmr2oe0.wl>