Date: Tue, 30 Aug 2016 03:58:54 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Slawa Olhovchenkov <slw@zxy.spb.ru> Cc: Bruce Evans <bde@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r305004 - in head/sys: amd64/amd64 amd64/include i386/i386 Message-ID: <20160830034632.A3851@besplex.bde.org> In-Reply-To: <20160829173726.GX22212@zxy.spb.ru> References: <201608291307.u7TD7L6H025649@repo.freebsd.org> <20160829173726.GX22212@zxy.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 29 Aug 2016, Slawa Olhovchenkov wrote: > On Mon, Aug 29, 2016 at 01:07:21PM +0000, Bruce Evans wrote: >> ... >> Log: >> On amd64, declare sse2_pagezero() and start using it again, but only >> for zeroing pages in idle where nontemporal writes are clearly best. >> This is almost a no-op since zeroing in idle works does nothing good >> and is off by default. Fix END() statement forgotten in previous >> commit. >> ... > > Do you think about using nontemporal writes for copying from user > space to kernel space? In much cases this copy result don't need any parsing > anf just go to DMA, eliminate cache use. I once tried that (for copyin/out, without DMA). It was just a small pessimization. For small data, it increases setup overheads, and large data isn't common enough to matter. DMA can be even slower since it increases latency. First there is latency to set it up, and then you often don't want it to touch the cache since that gives more latency for cache misses. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160830034632.A3851>