From owner-freebsd-current@FreeBSD.ORG Sun Jan 27 18:33:13 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6155316A421 for ; Sun, 27 Jan 2008 18:33:13 +0000 (UTC) (envelope-from bruce@zuhause.org) Received: from mail.zuhause.org (216.243.156.193.real-time.com [216.243.156.193]) by mx1.freebsd.org (Postfix) with ESMTP id C249513C4D3 for ; Sun, 27 Jan 2008 18:33:12 +0000 (UTC) (envelope-from bruce@zuhause.org) Received: by mail.zuhause.org (Postfix, from userid 1001) id E75927C04; Sun, 27 Jan 2008 12:33:11 -0600 (CST) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18332.52839.668598.380074@celery.zuhause.org> Date: Sun, 27 Jan 2008 12:33:11 -0600 To: Richard Todd From: bruce@zuhause.mn.org In-Reply-To: References: <18328.45282.562906.708945@celery.zuhause.org> <18329.22270.123314.900543@bhfs.zuhause.org> X-Mailer: VM 7.15 under 21.4 (patch 12) "Portable Code" XEmacs Lucid Cc: freebsd-current@freebsd.org Subject: Re: Weird performance behaviour in 7.0 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jan 2008 18:33:13 -0000 Richard Todd writes: > > bruce@zuhause.mn.org writes: > > Richard Todd writes: > > > This wouldn't by any chance be an Intel 965-chipset-based motherboard > > > with 4G or more of memory, would it? Because there's an interesting > > > little bug in the BIOS on some of those boards which causes the > > > cache-control registers to incorrectly declare a chunk of main memory > > > as uncacheable. This results in random slowdowns depending on whether > > > your process lands in the "bad" zone of memory or not. See > > > http://article.gmane.org/gmane.os.freebsd.stable/50135/ for more details. > > > > Bingo! This is a Intel DG965WH with 4 GB of memory. I don't think I > > can downgrade to the 1669 firmware because of the processor I'm > > using. The Fedora thread says that there's a hack to do the following > > in linux to fix the "bad" zone Embarrassingly, after I posted this, I realized that I was not at the latest BIOS level, and not at a recommended level for my processor, so I flashed it with the latest, version 1719. Although in the Fedora thread Jussit said that it didn't fix the problem, it seems to have fixed it for me. BTW, I was able to get the SMAP information at the loader prompt. I'm curious, though, should I be worried about the memcontrol list entries that are listed as "set-by-firmware active bogus"? Type '?' for a list of commands, 'help for wore detailed OK smap SMAP type=01 base=0000000000000000 len=000000000008f000 SMAP type=02 base=000000000008f000 len=0000000000011000 SMAP type=02 base=00000000000e0000 len=0000000000020000 SMAP type=01 base=0000000000100000 len=00000000cf461000 SMAP type=02 base=00000000cf561000 len=000000000000d000 SMAP type=0l base=00000000cf56e000 len=000000000009c000 SMAP type=04 base=00000000cf60a000 len=00000000000df000 SMAP type=01 base=00000000cf6e9000 len-0000000000009000 SMAP type=03 base=00000000cf6f2000 len=000000000000d000 SMAP type=01 base=00000000cf6ff000 len=0000000000001000 SMAP type=02 base=00000000cf700000 len=0000000000100000 SMAP type=02 base=00000000cf800000 len=0000000000800000 SMAP type=02 base=00000000fff00000 len=0000000000100000 SMAP type=01 base=0000000100000000 len=000000002c000000 OK 0x0/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x10000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x20000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x30000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x40000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x50000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x60000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x70000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x80000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x84000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x88000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x8c000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x90000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x94000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x98000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0x9c000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active 0xa0000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xa4000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xa8000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xac000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xb0000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xb4000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xb8000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xbc000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc0000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc1000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc2000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc3000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc4000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc5000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc6000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc7000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc8000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xc9000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xca000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xcb000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xcc000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xcd000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xce000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xcf000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd0000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd1000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd2000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd3000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd4000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd5000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd6000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd7000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd8000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xd9000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xda000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xdb000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xdc000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xdd000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xde000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xdf000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe0000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe1000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe2000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe3000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe4000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe5000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe6000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe7000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe8000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xe9000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xea000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xeb000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xec000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xed000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xee000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xef000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf0000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf1000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf2000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf3000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf4000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf5000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf6000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf7000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf8000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xf9000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xfa000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xfb000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xfc000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xfd000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xfe000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0xff000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active 0x0/0xf080000000 BIOS write-back set-by-firmware active bogus 0x80000000/0xf040000000 BIOS write-back set-by-firmware active bogus 0xc0000000/0xf010000000 BIOS write-back set-by-firmware active bogus 0xcf800000/0xf000800000 BIOS uncacheable set-by-firmware active bogus 0xcf700000/0xf000100000 BIOS uncacheable set-by-firmware active bogus 0x100000000/0xf020000000 BIOS write-back set-by-firmware active bogus 0x120000000/0xf008000000 BIOS write-back set-by-firmware active bogus