From owner-freebsd-i386@FreeBSD.ORG Thu Jan 5 01:50:07 2006 Return-Path: X-Original-To: freebsd-i386@hub.freebsd.org Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEE7E16A420 for ; Thu, 5 Jan 2006 01:50:07 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 27D8D43D53 for ; Thu, 5 Jan 2006 01:50:07 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k051o6Gg059848 for ; Thu, 5 Jan 2006 01:50:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k051o6PA059847; Thu, 5 Jan 2006 01:50:06 GMT (envelope-from gnats) Resent-Date: Thu, 5 Jan 2006 01:50:06 GMT Resent-Message-Id: <200601050150.k051o6PA059847@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, HATANOU Tomomi Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B9ED16A41F for ; Thu, 5 Jan 2006 01:47:38 +0000 (GMT) (envelope-from hatanou@ryoko.infolab.ne.jp) Received: from ryoko.infolab.ne.jp (okbnat.infolab.ne.jp [210.166.231.67]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB77943D7C for ; Thu, 5 Jan 2006 01:47:27 +0000 (GMT) (envelope-from hatanou@ryoko.infolab.ne.jp) Received: from ryoko.infolab.ne.jp (localhost [127.0.0.1]) by ryoko.infolab.ne.jp (8.13.4/8.13.4) with ESMTP id k051lOSN000866 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 5 Jan 2006 10:47:24 +0900 (JST) (envelope-from hatanou@ryoko.infolab.ne.jp) Received: (from hatanou@localhost) by ryoko.infolab.ne.jp (8.13.4/8.13.4/Submit) id k051lOpZ000865; Thu, 5 Jan 2006 10:47:24 +0900 (JST) (envelope-from hatanou) Message-Id: <200601050147.k051lOpZ000865@ryoko.infolab.ne.jp> Date: Thu, 5 Jan 2006 10:47:24 +0900 (JST) From: HATANOU Tomomi To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: i386/91328: L2/L3 cache of some IA32 CPUs not properly recognized. X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: HATANOU Tomomi List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jan 2006 01:50:08 -0000 >Number: 91328 >Category: i386 >Synopsis: L2/L3 cache of some IA32 CPUs not properly recognized. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jan 05 01:50:06 GMT 2006 >Closed-Date: >Last-Modified: >Originator: HATANOU Tomomi >Release: FreeBSD 7.0-CURRENT i386 >Organization: >Environment: System: FreeBSD ryoko.infolab.ne.jp 7.0-CURRENT FreeBSD 7.0-CURRENT #13: Thu Jan 5 09:51:40 JST 2006 hatanou@ryoko.infolab.ne.jp:/usr/local/obj/usr/src/sys/CF-R3E i386 Machine: 1) Panasonic CF-R3E (Pentium-M 733 based micro notebook) 2) ASUS P2B-D with 2 x 700MHz Pentium-III >Description: As far as I know, 1) Pentium-M 733 (dothan core, ULV) L2 cache is not recognized. 2) Pentium-III w/ 256k L2 L2 cache size is wrongly recognized as 128k. >How-To-Repeat: Boot verbosely, or view vm.stats.pagequeue.* sysctl variables. >Fix: Apply this patch to src/sys/i386/i386/identput.c --- /sys/i386/i386/identcpu.c.orig Tue Jan 3 23:43:38 2006 +++ /sys/i386/i386/identcpu.c Thu Jan 5 10:33:46 2006 @@ -1344,6 +1344,12 @@ case 0x45: printf("\n2nd-level cache: 2-MB, 4-way set associative, 32 byte line size"); break; + case 0x46: + printf("\n3rd-level cache: 4-MB, 4-way set associative, 64 byte line size"); + break; + case 0x47: + printf("\n3rd-level cache: 8-MB, 8-way set associative, 64 byte line size"); + break; case 0x50: printf("\nInstruction TLB: 4-KB, 2-MB or 4-MB pages, fully associative, 64 entries"); break; @@ -1383,6 +1389,9 @@ case 0x72: printf("\nTrace cache: 32K-uops, 8-way set associative"); break; + case 0x78: + printf("\n2nd-level cache: 1-MB, 4-way set associative, 64-byte line size"); + break; case 0x79: printf("\n2nd-level cache: 128-KB, 8-way set associative, sectored cache, 64-byte line size"); break; @@ -1395,6 +1404,12 @@ case 0x7c: printf("\n2nd-level cache: 1-MB, 8-way set associative, sectored cache, 64-byte line size"); break; + case 0x7d: + printf("\n2nd-level cache: 2-MB, 8-way set associative, 64-byte line size"); + break; + case 0x7f: + printf("\n2nd-level cache: 512-KB, 2-way set associative, 64-byte line size"); + break; case 0x82: printf("\n2nd-level cache: 256-KB, 8-way set associative, 32 byte line size"); break; @@ -1591,6 +1606,30 @@ *ways = 4; } break; + case 0x46: + /* 3rd-level cache: 4-MB, 4-way set associative, + * 64 byte line size */ + if (*size < 4096) { + *size = 4096; + *ways = 4; + } + break; + case 0x47: + /* 3rd-level cache: 8-MB, 8-way set associative, + * 64 byte line size */ + if (*size < 8192) { + *size = 8192; + *ways = 8; + } + break; + case 0x78: + /* 2nd-level cache: 1-MB, 4-way set associative, + * 64-byte line size */ + if (*size < 1024) { + *size = 1024; + *ways = 4; + } + break; case 0x79: /* 2nd-level cache: 128-KB, 8-way set associative, * sectored cache, 64-byte line size */ @@ -1623,11 +1662,27 @@ *ways = 8; } break; + case 0x7d: + /* 2nd-level cache: 2-MB, 8-way set associative, + * 64-byte line size */ + if (*size < 2048) { + *size = 2048; + *ways = 8; + } + break; + case 0x7f: + /* 2nd-level cache: 512-KB, 2-way set associative, + * 64-byte line size */ + if (*size < 512) { + *size = 512; + *ways = 2; + } + break; case 0x82: /* 2nd-level cache: 256-KB, 8-way set associative, * 32 byte line size */ - if (*size < 128) { - *size = 128; + if (*size < 256) { + *size = 256; *ways = 8; } break; >Release-Note: >Audit-Trail: >Unformatted: