From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C4F4745A9A; Wed, 2 Oct 2024 10:06:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 48CA14025C; Wed, 2 Oct 2024 10:06:31 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by mails.dpdk.org (Postfix) with ESMTP id D43FD4003C for ; Wed, 2 Oct 2024 10:06:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727856390; x=1759392390; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=k7aNcHju52q2uD/rK2YYyN04hbmk0iw6APTAIKkmRGU=; b=F1fHHCtajG95/lbI38RoPSdAtUf6iJIp+gL3ydYmDRWGlk+kBucp0ocM p8P6Nrq1/58LhYRQorhueX8fkWyeZlrAI22rAsON9bzHBgnjpkV0+TYAf zeWUv310QXrfqs4+9T6ZknjO/H9Wz2TEsYAwvJ7+OY0h2VbfaS8SKKioS Kps7QGdvLOJO5xxTZf1+CeHat9o6pilTwzKl/O6/Bu96fcjd8tSDoSkEK 6dZz8pfaaQfMsh3DnteB/fIRhiArP6Fq54CZ7rRbiVzxYxi0mAMrIy/r8 NWf+L17hkKrk3OXSpABC8VrwaDKJ3YSxrVHZW0Wyz5Z6qZvYwZc420AAD w==; X-CSE-ConnectionGUID: Ti8I9t9qQHqIMAVYN1BWlA== X-CSE-MsgGUID: SWYPcWUQSUWwINu16BLDgA== X-IronPort-AV: E=McAfee;i="6700,10204,11212"; a="30898283" X-IronPort-AV: E=Sophos;i="6.11,171,1725346800"; d="scan'208";a="30898283" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Oct 2024 01:06:29 -0700 X-CSE-ConnectionGUID: O4SvefPIQbK6OmaVbYNl5Q== X-CSE-MsgGUID: NYJ4SOlPRR6ay7IYBJkSog== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,171,1725346800"; d="scan'208";a="97288869" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 02 Oct 2024 01:06:28 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 2 Oct 2024 01:06:27 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 2 Oct 2024 01:06:27 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 2 Oct 2024 01:06:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IRi5H38/GnfcJa5AwIVF7Zg68WjHcJWOFeTXHXRPZi5uKpxQNAwmcW4MH1Fu9NaKnG/ZkA+600TQBPGoF/XCqKWwpZtD3AHdFV1rII6wZGSkNUBMtpIbRz/QhW/2FLh3wuK59l50m2RU2DPRdpgKClsR3IOmAXVRhSBKbiMZpGUQah37JN3iC2s9b4meBV5GRs5iMIdsmiuFtguh0mRSuN+RSEcod/YxZg/QhcK7+2aUQtJ5jiLtO15vfj0PwiNO7CjGKP63curIhewnc5eUbRagLcohRj65Ql3bxr27pcy5zhif5fJy7YUHrL/zWcR3s2dQtsegnwpmXtkkb+wUbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xbVaG+1h6ylA7D8pbmuR2pONDnajM4yvLDbeEaUJrrA=; b=buiT4xDVWfJwJLWNlpc2kpZF6m+9StO2pEY161Ijoauaa5aeKNDlMIFnNT7Vqxq4uIMr1dl/k4b5Xd1erlDQKIsK7LXDgs9qAhVI5zK1Gb0yEfeRWNrhDxugLT3vs+qy8j40uFzr22XNP9Zw84HTqgj5ApSWMh0ndHiyGKUoADSGPq1F4hKPfBf4pUT4jy4HWQU/CeooPm7b6oCmYE5jTYNo6U0OvHcOExf0Lttb5by/Imsypysk6/YrZO8ufsdmW278dYxf4pYxd8W7CgwsaXMJ7aJ7gw1zNDGRk18+kk396mqx7urEGBZ7z+XLPJ/la13t/Pb9EbRSws0RdBoSQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by CY8PR11MB7747.namprd11.prod.outlook.com (2603:10b6:930:91::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.27; Wed, 2 Oct 2024 08:06:24 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b%4]) with mapi id 15.20.8026.014; Wed, 2 Oct 2024 08:06:24 +0000 Date: Wed, 2 Oct 2024 09:06:19 +0100 From: Bruce Richardson To: Isaac Boukris CC: , , , , Subject: Re: [PATCH v3 2/2] timer/linux/x86: override TSC freq if no tsc_known_freq Message-ID: References: <20240921140022.107239-1-iboukris@gmail.com> <20241001002527.277838-1-iboukris@gmail.com> <20241001002527.277838-3-iboukris@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DUZPR01CA0282.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b9::17) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|CY8PR11MB7747:EE_ X-MS-Office365-Filtering-Correlation-Id: dc9d938c-9ee1-4937-ddf1-08dce2b91bb5 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?L0lmK0JtY1pXRis3aGtaZEdGV05nNldyTm5nd2pwZVZKdVd2NFVwanhsR1BS?= =?utf-8?B?NEpXNlNtbkEwK3d5cGRqS012SzRCbUx2cTNWYzVneVJ4VTdBamMzeEpEZy9y?= =?utf-8?B?U2JBeEJQZERPdUU5STRDVW10NEp5TEo5bEcrWnJ5Y3hmTHV1ellScHV4Z1hZ?= =?utf-8?B?TEtuN0crMTlzYWs0Z0tLaUN4dUorUGRFNmlzQlhSWFhzVVNhaGhva2cvOUo1?= =?utf-8?B?enRuYVZDR1JvT2dzUWtldVlBNE50RzlpeHpxV2JJUjIzVktwS2RPZHAzT3hY?= =?utf-8?B?Z1A0M05ZRlJpN2FDS21mOUN4VGZuaVprTzFtbklNSFE1dVkwUUpUaHl6TDJB?= =?utf-8?B?VXpkeXpiemxBcEhHWm5Rdi9NbHdMdEI5ZWhOUEpzQWJNT1NtY3Z2TXFoMERW?= =?utf-8?B?UjNFeEEvQitEQmNmTjZQWFNxaHhFQlR0c0ptN1FidG5ra2VIWmV5cDBJQlc1?= =?utf-8?B?cHdURGJMUHlqSFJyT25td0FuZFB2WkxxTi95ZmdkWEptMXV3dkJPb2lGMGsx?= =?utf-8?B?Tm93ZnloNDlyS1lDQnI2amYvN2hKRGZkL0hvOXUvYVZvTXA4SEFpbCtuU1FE?= =?utf-8?B?VVNGdDAvMExtRkdWNDVGRzFSRTAvd2lvSmVWb2lJWFRtcFJFbE02Mjd5UFVj?= =?utf-8?B?MndaZ0ZVNmNOaXlveUJEOHFpNDVqdGdzcmYxU3JnV2JLejBYZW9XbHJmeGhL?= =?utf-8?B?M1BhZ1MvSzBkMm0vZVRQazdVc1lGanJtWWtNaHFtOFljRUVxbVBoOEpzYXVj?= =?utf-8?B?Ri9pMy9jZmhWdTVjeENmS3BRUXhrNk83V09tSml5NnExTkpCTDVUbWU0MUtx?= =?utf-8?B?Znh2NDQ1QnR1M29TRHpnTHhNV3Jnam5SNllBd0xsTjdhK0h5emFBREExNy9B?= =?utf-8?B?eGg5Vm56dFNrN3E4OGYramhBNXNkQ1F1YjgzU09lU081NUgzWXpscU9OTUI2?= =?utf-8?B?RnBQb1FjRmRma2FtZnIzazhWWTlBSnQwMVFBbVV5dDBnMGNrRldpa3pwMDBE?= =?utf-8?B?Y3VReW5BOEhBenVyemhoTXJIaklKRnpxMDVVaDVPc3RIejltenZUMWtLMGFJ?= =?utf-8?B?OHBZQnprUjJSc1Rnb0pzWnJYYmY5d3RCV002NVZuN1JRS0NaRWt2NjRmY1BC?= =?utf-8?B?bWliVFVMMld2R0xIN0p2blROazkzbnhRcmliU1M1RHhrM1NPbDdrZEhGNUpl?= =?utf-8?B?dWlyOUNab2dodHFCVC9UQXhCSHdFTXIxUEVEcmVGYmI1MzloUjJWL0JhTW5w?= =?utf-8?B?TmYyUDNKOTc5aVp1SmxEMVprMVdFSGxuQjZjazZTekJQd3MxdllQV3A4N3pW?= =?utf-8?B?RUExRjgydzVwNlpvalgwZW5TMUxaOHBXam5Ea1pSS2FtV1EwR0ZqVytMTG5v?= =?utf-8?B?YTd2cXV3N0IvaWhQcGRwSTFlaWFXU3pScjZPUThodm9FQytlL0s4TGM3T1M3?= =?utf-8?B?czBLRVhGS25FbU9mRytORjVyMXhXNFlubUZoUWZVdVh1eHdjRkwzVTU5dExn?= =?utf-8?B?SVFZMjg5ZSt6aldEY0FOaHJJVWVGVEhwVlo3aFNoOEpIZ25QY2VPU0ZpUml4?= =?utf-8?B?Q3M4WEljenY0YXo2Rkh0VGNvSlVZYnpOREVpZFAxU3BVR1dOQi84b0swRjA3?= =?utf-8?B?SFU1SVExc2NHZ1QxWFBwRE1OY1l5dHI2NUZicFdnRHhvMGs1OTFIR1hqTGZR?= =?utf-8?B?ZG5yNU1sbk5nM0VWVkJZWVdJTytsYUdJajNUMEFMaXhqOEJjNDE3ZzZRPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SVlMeHNMMFUyVHhxbmplMkNKNnJQZHBSdkhOdktJWVRKVmNlTmxrYVMrNGVk?= =?utf-8?B?aVpRcTIrb0hFRUFYdVVMK2cyOG1mQ05WenFnR1laM1YwOTRQdFhwYjVXaldL?= =?utf-8?B?azkyVU5Ic2V0Y2JUSFErQ2MySFY3VG1jQzA5NklOSyt4LzlVbWtzbFNJRFA1?= =?utf-8?B?S2VTUUZhaG5qRzhUUWkvZi9WMVVqc0ZjMWJ6WnBZK2VsSE5tSlFUanNrYmFC?= =?utf-8?B?ZTdMKy91anNram0ySTF4MlJXb21YZHcxdFlDaksvTmZwaVRodzlJcnBIUEJG?= =?utf-8?B?U01vYWV2NVEyWkF2NHdWcU50YmFQRmluNWJDOUhmYkwzZTNZK3k2eTByUTg5?= =?utf-8?B?dndoaEtZSStnS3Q5d1UrS3Q4c2IyYmZqVElPVXdYR2dTS3pqcnh6S3NZMm5s?= =?utf-8?B?ZURYTVFLNUd6OVlDVWdaUTVjOTN0VFh1emtxenc4c3daakNMMUNCakNLRFA3?= =?utf-8?B?R0k5MERCckVKVzlIV1pLT1VRQ1BxVnd4bWh1bWtqYUd0RFhYU1R6VGlRTzI5?= =?utf-8?B?WU9SS3VFZElSeGc1QVRsakNoMHhTSmtxTEsrSCtFSmViMXliTHFJTldHWGYw?= =?utf-8?B?S1lHWUx4TFRDWHJyUnV3Tlg0bElWOGZDSjF4RU0xSnc5VEJBaGh5MDYzQndJ?= =?utf-8?B?dk01bnN3REZnSTVrMWtvTGgyWWkyTlZ6cUtvREpFajhIYkhtR1VwTWx1RzJu?= =?utf-8?B?TkZCS3UwYjB1MzcySmFXM2ovQVd1VVlka1B3QlVjNEQ0dzNURXpZbHFDV0Fr?= =?utf-8?B?SFlObXJ4eTBlVWdWWmcxQkdvUnZRblhQeTBHbnFCanhoRGVZMHdWcUhIcmVT?= =?utf-8?B?ZjZYK3RxYlFlcGZEY0MzeitxNjRBYURyMHFudmw2dmtMdTFxZGxOL3ViUWF2?= =?utf-8?B?RDA2aWlPTS9weXI0RkFlYWlPbFZmVFBDR2RmRmhQV0k2c2I4TUlLWUZ4akVH?= =?utf-8?B?WnNETzhiaElDbDdQRkZsM1pIaHlDRnBialJWdmRCUXhKZFFOUCtzTTZLR0I0?= =?utf-8?B?cm5CUitVbmVzbTZaa0hXUWJROThqQTFnRkJSVWxDcTBiaFVXdlVjNVZjaHZp?= =?utf-8?B?N3c3dXV5aFZzMHVFUTFXRHp1Y2hKTVNSdUc3VTNrSnRNV2tNU3FINUYzQ0Jx?= =?utf-8?B?Qk4xQTJqdVJhNG1NQUU2alpEOWZacmxlbXhYeC9WK0xPQWhBcDdLTU0xQUt6?= =?utf-8?B?KzhXTHdmTXhXbjVWWFRtU3N4OGg4OUJBVnpkKzhWZmMxSXVGL3VCUXNqU2hZ?= =?utf-8?B?NnpMVmRnZzBGRktTeXRGNTg1anJqV2lKVlRCM21IL3o0Yi9pWWdPZkNFYVlQ?= =?utf-8?B?bVRSMGMyTEtJSTZhWmU2NndpQVkrL0xYTGttQWNkbDMyb0grSVNIVDFnOS85?= =?utf-8?B?b2MvczB1U3lLNzhqR3NwelBSUnp3L0UzM0NHTFRaWCsyWTZZZHBlMTErVVp1?= =?utf-8?B?dXdyaGwrSEpZRG1lRkRSVlZIRUFsVWxZVnB1blFUc3AzR0VYbktIeW5LSHRW?= =?utf-8?B?QW5XckdxTkNjdTdGM1lPKzZSak9VenAyaHM0cXRxSmdmUXFzRGFudEh4RXRW?= =?utf-8?B?eFhHbFhyZWtSOWhiOG5RSkxMUHR4ckxNdzFNV0NIektLYjMyNUNxV2Z6emsv?= =?utf-8?B?VTY5YmV5RUdXR2wrVFNFSEpvbDlBUVFBZVFNTDl4WDh6Y21senRURUZzZ2p1?= =?utf-8?B?M2MxNU92aitGTFNlTmxlWjlxajNhY2xqTnJ6TjZObEd2RVpJeEtSY2FCcmt6?= =?utf-8?B?K2JCdEt2aFNvZnZGU0FZMU95TWoxS3U0Q3d5Q2kxbExiMnk1MmNjL3RFVHVN?= =?utf-8?B?dmd5UEVBSHZCMnZDVGxHV3l6K3RUUjBvbi9pUUhtU2doWllCNytJUXBFSzB5?= =?utf-8?B?TVZiSXNOMzdsUmpvODhOeHhZZ0VwL1d4dTdUMXZDalFiZysrUmJqS3V1TCtO?= =?utf-8?B?aEFwOFpPZ3J5UGJDMCtqMW5rRFFzWVJhQUsyYlRPNmlkbXVqdXVRdnJiUjAy?= =?utf-8?B?RjRaTlREdHd1c2JyR2tZL0VKeEdrNjBHSGpsbXQzZUVQQmlvNzNucnMrLzFy?= =?utf-8?B?YUhvZTVFRlVFZE9mcTZoanFOcVdxanpSTE5LYkFHbE5uNmdKNVhORlNvL2Z6?= =?utf-8?B?dEVkaXhMcnRlM1ZPQ0VqWmN2RFJsRzczbXYyZFlJamQ5aUlOUTlOUGxoYWVT?= =?utf-8?B?SUE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: dc9d938c-9ee1-4937-ddf1-08dce2b91bb5 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2024 08:06:24.3750 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: j0r8yjyRVaW+LO4wv0Qlsao8xX1cM+cjLkk3JZiYkgXjQjUzA/ksFqgQ8dKmeZ7cagajT6TR+/ngdms3x1AeujOrwoi9fNnZd3DF0EnpRxQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7747 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Wed, Oct 02, 2024 at 12:59:58AM +0300, Isaac Boukris wrote: > On Tue, Oct 1, 2024 at 11:01 PM Bruce Richardson > wrote: > > > > On Tue, Oct 01, 2024 at 03:22:51AM +0300, Isaac Boukris wrote: > > > If the tsc_known_freq cpu flag is missing, it means the kernel doesn't > > > trust it and calculates its own. We should do the same to avoid drift. > > > > > > Signed-off-by: Isaac Boukris > > > --- > > > lib/eal/common/eal_common_timer.c | 3 +- > > > lib/eal/common/eal_private.h | 2 +- > > > lib/eal/freebsd/eal_timer.c | 5 ++- > > > lib/eal/linux/eal_timer.c | 53 +++++++++++++++++++++++++++++-- > > > lib/eal/windows/eal_timer.c | 5 ++- > > > 5 files changed, 60 insertions(+), 8 deletions(-) > > > > > > diff --git a/lib/eal/common/eal_common_timer.c b/lib/eal/common/eal_common_timer.c > > > index c5c4703f15..e00be0a5c8 100644 > > > --- a/lib/eal/common/eal_common_timer.c > > > +++ b/lib/eal/common/eal_common_timer.c > > > @@ -66,8 +66,7 @@ set_tsc_freq(void) > > > } > > > > > > freq = get_tsc_freq_arch(); > > > - if (!freq) > > > - freq = get_tsc_freq(); > > > + freq = get_tsc_freq(freq); > > > if (!freq) > > > freq = estimate_tsc_freq(); > > > > > > diff --git a/lib/eal/common/eal_private.h b/lib/eal/common/eal_private.h > > > index af09620426..bb315dab04 100644 > > > --- a/lib/eal/common/eal_private.h > > > +++ b/lib/eal/common/eal_private.h > > > @@ -374,7 +374,7 @@ void set_tsc_freq(void); > > > * > > > * This function is private to the EAL. > > > */ > > > -uint64_t get_tsc_freq(void); > > > +uint64_t get_tsc_freq(uint64_t arch_hz); > > > > > > /** > > > * Get TSC frequency if the architecture supports. > > > diff --git a/lib/eal/freebsd/eal_timer.c b/lib/eal/freebsd/eal_timer.c > > > index 3dd70e24ba..5a8aea03e1 100644 > > > --- a/lib/eal/freebsd/eal_timer.c > > > +++ b/lib/eal/freebsd/eal_timer.c > > > @@ -26,12 +26,15 @@ > > > enum timer_source eal_timer_source = EAL_TIMER_TSC; > > > > > > uint64_t > > > -get_tsc_freq(void) > > > +get_tsc_freq(uint64_t arch_hz) > > > { > > > size_t sz; > > > int tmp; > > > uint64_t tsc_hz; > > > > > > + if (arch_hz) > > > + return arch_hz; > > > + > > > sz = sizeof(tmp); > > > tmp = 0; > > > > > > > On FreeBSD I'm not sure this is the best behaviour. On BSD we read the TSC > > value from the kernel, which, one assumes, has measured it accurately. > > Therefore I'd tend toward just using the kernel value in all cases, maybe > > check the arch value (if non-zero) against that and warning if they have > > significant divergence. WDYT? > > Makes sense, I'll add a patch for that. We could also use the arch > value if for some reason the sysctlbyname() failed. Yep, +1 to that. /Bruce