From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D330CC433EF for ; Thu, 9 Jun 2022 18:48:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F16B8D0047; Thu, 9 Jun 2022 14:48:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 178858D0034; Thu, 9 Jun 2022 14:48:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EBE3C8D0047; Thu, 9 Jun 2022 14:48:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id D67AD8D0034 for ; Thu, 9 Jun 2022 14:48:19 -0400 (EDT) Received: from smtpin31.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A0D4B216EC for ; Thu, 9 Jun 2022 18:48:19 +0000 (UTC) X-FDA: 79559582718.31.583AC6C Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf31.hostedemail.com (Postfix) with ESMTP id 3501520089 for ; Thu, 9 Jun 2022 18:48:19 +0000 (UTC) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 259IkMit011178; Thu, 9 Jun 2022 18:48:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=Kv1XTwvrfx665Tt/HyTdsb8AX5jAjNgRCT84OBUrq7A=; b=ZWecafVYGIf22eefl1pTZavibNYnEpFRKZxrIM4JAOMGLk0Ra3CbRKsTEY75GF9Y4hh3 0DMQDnlSM9qMtintipQr2E0vFXJDrbzk02bUjXkS5J7VPJ+81hZx2adH0lrBaZRw0pPR 2ANEM6wb0Y2LnLmRM7uIY6O83esBjjsHDlZW4jfSSK7rCZUHCb8ZTk4uWTe78N2Rsozr XMbZbdqmHaWai8YZH3v1hZOaNfjnFuzlrJOHhd4AoKZv/g9nyjSmFCzUvS9SYSjAk9vy xAIxFbMa2TQRqDRGVdFcZFsqL79GMVtMxJojI5pbgS8/B2clm7L9GD0gXYgFy2s0Bybs ZA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ggvxn22ab-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 Jun 2022 18:48:16 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 259IaYoD019550; Thu, 9 Jun 2022 18:48:15 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2047.outbound.protection.outlook.com [104.47.57.47]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3gfwu4y54b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 Jun 2022 18:48:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VdxWWXNfy6zMuOMAizuVqz9NDbedCw/lldipd2OjJmPj2pfQkwi4GM4At+9b0xmkB5xAk3D/xFbFKV2zgC6J/2cXUM+w1TZXjxjbE9b8g2TEJK2BsRAdpl4YjJVafr9bD8KrJGEY2WRpuHcD/eKKCtwqcYAceEnSuUiJF1k/8XaEDGNUwXkjP8qnrKPIPHpElofCYSpeM7peiOMGlgMY2eMaRq06NDpdDm6mp+7Ykz8yXmfmdn+E7NGHOUdAE1vhTSd/Hcm/HetX8Bz2EzVaF3zBlyKLErFn8FLyf9oHTy115SnmFADaHbPbZwYDiGs9qwyR0y1AQ/GFvS6cH1x+6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Kv1XTwvrfx665Tt/HyTdsb8AX5jAjNgRCT84OBUrq7A=; b=SYDivrAjkiV+jM7/bH+BtxOYfVv+731WPNMm5oLSkP+ldMVUJ272LA/H6ySo+vQhHcxaUv5yQTJhrGtqbwmwRF18j0TmnDlZbW3UWq5vO1tf7Y2ZV1A8+QPdxZ9oKQq5ML62+CdIj2uGVyQxxerFhPNvixgNgAzDS0+m+ZAiQkg0SdqVL5dcw+nIgRrcIBuDkmaqgdW+YYxW03XiJ/zfqfyp2bK0n3L+9++32kc4OWW+ooqkd22NF0o50cKtH7e4ScVnLuo5RSHx05Z82xOxJU3xz7SgRpPO9sE6dXp4aGSFDkFzk8vrUW6yCl4r6GbFFPNJ8MybPOL71T6JT2TMoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Kv1XTwvrfx665Tt/HyTdsb8AX5jAjNgRCT84OBUrq7A=; b=GI7Rp9fbsmkBvVYA7m6jYFmWEUiSrHv37LXIMlogMe+b1GfoAuDJOh6wLO3fqnGox+5lagHVJWn0N4kXOd9AkJCovVuvFefcEszzYkZYkMCK2EoefykwC4pXCbfV+v7wUpPaE0zJ0RvIgC6T/8s2jKZtiNUIBijO90lR+6ARGqc= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by BL3PR10MB6018.namprd10.prod.outlook.com (2603:10b6:208:3b1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.12; Thu, 9 Jun 2022 18:48:10 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::2125:9bb7:bfeb:81f9]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::2125:9bb7:bfeb:81f9%8]) with mapi id 15.20.5332.012; Thu, 9 Jun 2022 18:48:09 +0000 Message-ID: <3cf768b3-4d09-de13-7975-ebb74a68752e@oracle.com> Date: Thu, 9 Jun 2022 11:48:06 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH v3] madvise.2: Clarify addr/length and update hugetlb support Content-Language: en-US To: Alejandro Colomar , linux-man@vger.kernel.org, linux-mm@kvack.org Cc: Michael Kerrisk , David Hildenbrand , Axel Rasmussen , Peter Xu References: <20220608234517.117295-1-mike.kravetz@oracle.com> From: Mike Kravetz In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MWHPR14CA0068.namprd14.prod.outlook.com (2603:10b6:300:81::30) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f2875780-f3bb-497b-282d-08da4a4898a4 X-MS-TrafficTypeDiagnostic: BL3PR10MB6018:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l1t1sfvKVnN3dJ8XdJ5l1QIkY1bYALio7OGz1WY7agaZgD3kKoPDU9rR8XKpe5734Wq6JGlZGWnPv/AmnqmP7pWDZNWyGOG1yzR4/r1PCxRZfsLcVyGU5qDiswslEYZtlHVMw0icpk0Zd0boi0+Hp6MexliGxjJRANXk/k5p5elDH7FPe8O10WQMnGZpL9XcZK81lPXW8TuzbhppTLDfi+cp8QCqLDYxaDJgnzPMSTlrQn0T/Hx6j3sDVANuKTtrd2ZwjFO/yNl/YSdFUEN3/rTsw8vLr1fKFGPwg5cpIUoA7J1urL850mdcBs5z0kq69IMOHXEQ3CnJdjVx7NbmS33+A/g33f3ihA9vJTrbV7f4x2z8YBO8x31FuhxFnKJRwRZ6W60YZm85ZuIzoHtk+Vv55Vc8FZiJXfOMivlRqmwq1vrlP84tzIIG8puQr6u4+CtM49cmq144TwmpmTUewQHkMkT3HFLLkNqmnDQBLrgTLsUotpKUeRTYJLOaaPLD9CqC1pcRmVS6oso6e532gZorGRiyYFNfwEt+HL2+hxPKkKxUYsd/nNqdb0qGMBkNDXtg5bHi3RkJeZ2AF4F68YDg9Jjs8rTL/Mb4v+RUVrr+6bXpsK/RiNEQDlh0bw+obIAHueeLchNXNQ5o2hQ3HimLhDsRjw31JTDRd+bxHgSD1w3qtuJj20sjOFcLf4SoBKunMlohnH4pqLJNIcjQWPIFrS0f8UiEF7GE3bqq8PE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR10MB4196.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(26005)(53546011)(6506007)(8936002)(8676002)(5660300002)(66476007)(4744005)(66556008)(4326008)(31686004)(44832011)(66946007)(186003)(38100700002)(36756003)(2616005)(6486002)(2906002)(316002)(83380400001)(6512007)(508600001)(6666004)(86362001)(15650500001)(54906003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dDhtQkt6QnJJRlJIWXRtdXkvdDRmMzB6elNvdzIwZ3NMd05sajE2N1pGZTZG?= =?utf-8?B?YWpNR251Y1ZncGtNSmhkSFFSOEZoTzk0VmpsSkRVc0I5Y1htUERXbTdIM3o2?= =?utf-8?B?K1lmYXQ3aHhvT0VhK0hTR3RuWDN5RmkrbjJyNm5YVjhmeFpLZEM4YXFVMHpP?= =?utf-8?B?TDBVYUxYTVVrejl2cHpFallPR1N1TlJFYlNKa3hlMEtidHRyUTJoRnBPbXFT?= =?utf-8?B?R2tZdWhtNXN0ZEMwSW5TbE92cTh6eHFxVjlVS3ZBNVVxRXRob0l4dTdjM1lM?= =?utf-8?B?SDV4a0lFV0huT3hKblk1YjFxMXJZUjNKVjA4U2JJblNVOWo2MUE5VjZiZW9B?= =?utf-8?B?UmJTUDRYZ1lrSytRUCtwZGRyZGJURlE2aGJRTHpkZHV1YmwwT3pRcU0rMUp3?= =?utf-8?B?SWVqdktDK1NCY3FNR29yTCtCalppU2NJdGgwZEpkZS9CR0lxY0ZBUlpDb0dq?= =?utf-8?B?dTN4TlBGM0JZUHB5SzRxZElCOFdLWkswUFlRT0hqakZvTjZiMVM4ZzhWaDRD?= =?utf-8?B?RjFtR3dtRHhERWZSdUxWM1VGNGszQk9ZbkVYb0xXRnN2S0psaFRNcHRCZkZG?= =?utf-8?B?aklCU09ZaE8vRHpscDZpNU1rQWJ3Y1cvczNyUU10RnBvQUlEM1g5K0dJcEdx?= =?utf-8?B?SWtPYm8wVHd3UlRtVjROTlY4bUkxK0RmQUJRSVVab1NTV2lzSlRoSzlZeEVx?= =?utf-8?B?K0JDWDRIbFF1dlF6d0twREduOHY1bGZ3WXl1TlBjdGRSeHNlc0k5TVdXMWg1?= =?utf-8?B?ditqb2J4VE1YOXloQlhwampyT3c4TGNGZFZiOFZDSW1HOWxLK0NyOE9YRW5I?= =?utf-8?B?aGs5VWhtUW9IQ1ZKdjFNc0lIUElqaERzNVdzWmpDZXo1WDBwdjduQ2VYZmVM?= =?utf-8?B?OEM0KzVsclN1M01qOVNjN3NubGNqSzNPNk1hQWZwVW9GQVExend2OVl4QnJJ?= =?utf-8?B?dUlkYXB3MUhuazZVRENCdVF6bWZMMHA0RnMwSnlCdmN1eDFvNHgxa1JSTXNF?= =?utf-8?B?N0NvN0Rvb2V2Qk1TbkVFM1BGWnloL2dJTWx4K2dlazdQVFMxMm1NRnNSUXFD?= =?utf-8?B?VDVldkVjclZIYm51dU84UElwb0hEU2p3cjJyS2JGTkVIWFl4MnhibHE0R1dS?= =?utf-8?B?RzRjeXB3ajlwa2lIVHprQllMa0NNRHRxdTlXUmlBdzdCcU9rSVo3RmVvb1BE?= =?utf-8?B?UkpKOWp3UzRIaUtZTzNDc0hRUy9Oa2YxRU1QQ01UcUZSOG1FbzNUTitUNWFx?= =?utf-8?B?d0hocGtaQS9IRE9BVTlyZlpFdnFyNHBTeDdsOGlPa0ptVTZEckI3KysvU3cv?= =?utf-8?B?TXNYUUQwMTdrazlyZ3NHa012SUVIRkVnbk4zSEs5SDBrUEJFYjQ1WStSTVhK?= =?utf-8?B?ZjV6SzZhZFVHb0x0dGk5aGpvUDZha2EyeUIzYVpjK2UzSVhVMnhkY0lVK0I3?= =?utf-8?B?QUJiZzBjeWdMV2htRE03OFhjL2xtOS9hLzlPMjhKUHZZbm9Wc1FlNVRtL2s4?= =?utf-8?B?L0RPam1yL0RPc3ptVFI2Y0h4TUk3WHM2KzVrQVdsNnFwUGpyK0xXZ0E0Qkd2?= =?utf-8?B?MjV0aFpweXkwWmF0eUt1VWhzYVZCNkhTMUd0ME5nS3AvR2UxOHp5ZWZvODNC?= =?utf-8?B?S204SlFJd1VSZWNVbm1WamkvRGcvSktrZVRMemh6dzJrR1AyUkVHaHBZYXhL?= =?utf-8?B?b3g5VlBlbjE5ckdmRHRiSFltNWhPd2lBK3YxOG55NFRCTS9uS2lrTmxBdWVM?= =?utf-8?B?MGhIdzUyNkZXN0wxZU9WQUt1VG9oUUNWOEVTYkxqbDBqcExVMWJZQ2d2eXRT?= =?utf-8?B?ZTVjMXlyaUNwZFlySEsycnM1bDZRbVhGbWRFYWoxbHJVYkp2elNMQU10blBo?= =?utf-8?B?azBDM3ZHZzNhcFBMcUw4RHhiVU5rVjhRT0FTRVJLTlRvcFVyYk5wMkVncGZM?= =?utf-8?B?MjFXSU13VWQ4QXhlK29abGpSZjBsa1JDcUp3dTZnR1VNdVVnN0hHOVk2QnRu?= =?utf-8?B?SmxSUUVDaG1tekxieDFmSTcwTC9zdTdVWmtmRFdsMjBIU0YzamdvTEJXTVhq?= =?utf-8?B?KzFDYysvVlVZWVhDdEc3UlJFS1h4OHN4UUcyalZsWlFraEd5emlSTHA2a3p6?= =?utf-8?B?Q0VBVFJzNS9YVk1BUGtqdmE5b0N4TjBtUTVDZnI1WjlDWTdVQ0lmQ003M2Yx?= =?utf-8?B?d2F0NDFyRjZZTHgzektYN00vaFI3ZzRDMVZRZUZwYVZJcVRDbXhUanc5NkJZ?= =?utf-8?B?UFFNVW9NWjBZK0l0Z2dJaUxZZVJ1ODBwL29Zd1F3NUNLMkV5VnRNaWk0bVZm?= =?utf-8?B?aE1Md2FhUkRIaVZYbFBjNFVBZ0dtenZjdW5xZlh6L3Z0cE53NkpTSmxXZTdE?= =?utf-8?Q?guk5+KzmjTay3j3k=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2875780-f3bb-497b-282d-08da4a4898a4 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2022 18:48:09.7852 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2dIYMIV8KNt80r9wKRzUIwH94uRxxLBwIUZW1OHnyigQ+QDrF8QBEUzP0FVGHfFOOkY+mkoRkSVrW09eLl7xiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6018 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517,18.0.874 definitions=2022-06-09_14:2022-06-09,2022-06-09 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 mlxscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206090068 X-Proofpoint-GUID: pc08ftEkyprzgMWnWRqg2_-yfmJTHSsN X-Proofpoint-ORIG-GUID: pc08ftEkyprzgMWnWRqg2_-yfmJTHSsN ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1654800499; a=rsa-sha256; cv=pass; b=e4O8gmEBPAghZZBNRDXaIyFFlIa7DUKUXCvlxLSYr+m2AMRxUVlRNSQdqz1EBj+sBt1bJo qMmmzbb2oB0wfniCRM/zn0HSpt60EuoEzI4pnvioH0UzK3ag4oDDcbeVQ5Oy0U7zlsjw8p LWvkcRse7UW+wxoChP/Ncl9B/YYZPe8= ARC-Authentication-Results: i=2; imf31.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=ZWecafVY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GI7Rp9fb; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf31.hostedemail.com: domain of mike.kravetz@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1654800499; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Kv1XTwvrfx665Tt/HyTdsb8AX5jAjNgRCT84OBUrq7A=; b=sH201BBy3VirZQ2W8N72Bnuqgz9rIcvVThRtbwfpa+hF6LyrZygti1yT+2NJWSoEqIy1k3 ESDkF5y/+lz+jtxsjC86DOdyTRPo8z1r/JivZiZPqJhzppFjMIznp+KhwqrTRjJryYvw0e aqCjr9JkQvjEoIuhSYvq6q2ZCDZJ3Jk= X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 3501520089 X-Stat-Signature: 71na51bf7i4dmp1n5qrrsh55j76xd8eh X-Rspam-User: Authentication-Results: imf31.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=ZWecafVY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GI7Rp9fb; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf31.hostedemail.com: domain of mike.kravetz@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-HE-Tag: 1654800499-834650 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 6/9/22 06:24, Alejandro Colomar wrote: > Hi Mike, > > On 6/9/22 01:45, Mike Kravetz wrote: >> Clarify that madvise only works on full pages, and remove references >> to 'bytes'. >> >> Update MADV_DONTNEED and MADV_REMOVE sections to remove notes that >> HugeTLB mappings are not supported.  Indicate the releases when they >> were first supported as well as alignment restrictions. >> >> Signed-off-by: Mike Kravetz >> Acked-by: Peter Xu > > Please check some comments below. > > Thanks, > Thank you! And, my apologies for not looking at formatting requirements. Will send a v4 shortly. -- Mike Kravetz