Date: Wed, 22 Mar 2006 10:44:53 -0800 From: "Jin Guojun [VFFS]" <g_jin@lbl.gov> To: Arne Woerner <arne_woerner@yahoo.com> Cc: freebsd-performance@freebsd.org, Gary Thorpe <gthorpe@myrealbox.com>, oxy@field.hu Subject: Re: packet drop with intel gigabit / marwell gigabit Message-ID: <44219B25.9000700@lbl.gov> In-Reply-To: <20060322175336.59008.qmail@web30309.mail.mud.yahoo.com> References: <20060322175336.59008.qmail@web30309.mail.mud.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Arne Woerner wrote: >>Notice that your memory copy speed will be one half of it. >> >> >> >Why "half"? dd causes two copies but counts each byte just once... > >Maybe "dd" in combination with /dev/zero is not the right way to >measure memory bandwidth? > > It depends on how /dev/null implemented. It may just throw data in water. If so, dd only does one CPU to memory access. It is not accurate, but it is a fast way to estimate memory bandwidth. You may write a simple memory copy program to get a better number. If you use 64-bit register (like FP register -- double) to do the copy, on some CPUs, you may double memory copy speed. There are number of tricks to improve system performance. Also, memory copy speed is slightly higher one half of the memory bandwidth. This is because only memory read is 100 % cache missing, while memory write is 100% cache hit. So the memory write speed is based on the last level cache to memory bandwidth + a few cycles overhead for CPU signal the last level cache. For example, 500MB/s memory bandwidth can give you roughly 300 MB/s memory copy speed, not 250 MB/s. -Jin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44219B25.9000700>