From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932313AbcEaUFG (ORCPT ); Tue, 31 May 2016 16:05:06 -0400 Received: from mail-bl2on0083.outbound.protection.outlook.com ([65.55.169.83]:21240 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756617AbcEaUFC (ORCPT ); Tue, 31 May 2016 16:05:02 -0400 Authentication-Results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=caviumnetworks.com; Date: Tue, 31 May 2016 23:04:54 +0300 From: Yury Norov To: CC: , , , , , Subject: [glibc] preadv/pwritev question Message-ID: <20160531200454.GA32677@yury-N73SV> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [50.233.148.158] X-ClientProxiedBy: SN1PR16CA0035.namprd16.prod.outlook.com (10.169.34.45) To DM3PR07MB2234.namprd07.prod.outlook.com (10.164.33.144) X-MS-Office365-Filtering-Correlation-Id: 4e5d62f1-2052-4097-8dd9-08d3898ed78c X-Microsoft-Exchange-Diagnostics: 1;DM3PR07MB2234;2:O4/YWz5EYGfI3Wfm4v3e53ZN1GNMxYjjUGafedw6sMkHI2cYeGbWZIy2p3ns5kIN1hqZmauAUYmVty2gMqI/lXt8MFBCf484sLDbgglgoHok1Fos+daCCk3aNK/N2jbBgCwmy2p2uQ6Bt9gU3X76e/aEj9jHLvM2TUL38lPYyyR1lOx3u+SRUfHRDg+ZxowF;3:HdTiUhqFQw1s5Qd/QqomSFLSvjPUVWiSES0SeLcw8znKreRzk7mcvoLUY8Sjj07nSqmtjhOsmcKS3bSX2TqgN/Y+6e2vxlZtlRCgcGFgvB2KOWYGrzpeEWFUg3hsMUtj X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2234; X-Microsoft-Exchange-Diagnostics: 1;DM3PR07MB2234;25:+o3661nzZphqkUTrycKnkVWusHSYpiMn4qwaTtFLaEUaVvKuhSTnipDhtEAyy8HTwUWXF9/1p/XfcHi6Dt0f6rH31GpnfyUZAgmgxVNKiKtHGdZQE9WXkBZS1HPC1A0BQlntVCujZ6hEzVRcWz5eJG1yKXBAEALacyzjoZNPRZkxLrFvTmzJLqQenjf3JS3hwPyVv/M5W+DY5oJCvpYGWLnSx9hqlgB2TOXlWp/nECh12djEIIZij0xo+q1utDvI9VXEYBdlDmFAg/gdtLR7+wqmEp5CGWQsxhrU9+O5rYeHfaRfUCGBX9O8k9rMmcr/uovKdxRQNjP0F7UAnv1M2xAznWmZonIbx4geAJ/BW/JI38w8r9i8anHrxx/5Tr/0SUkBpQsykm9ll9+gjh4nlBvoYGBgRNBGmy+SEKD5pquWIL7Wrah9XueeP8yGLq3mHao2M0xLrAV4B2tFrML9x3/XRrllBHAZ/uuZtd833q05v6tfYxz1rQXne39GplDVn2xWmwrbyV5lcCU5PPaNsFeXfEMKUpVEi0gbZxB4HwNiRU5fI7nJOLuP4ZL8N/nkOT723Vz3c0u2b4QFOYybFUB7o93vigPw4z0pJRA14znClvzrsukXWwkhxNLDQSoV1Uc/+pmeUDduANauPmQfVyWwv32DkuAmwdFnw2WWaJPJQt2xj4VU5uG6XJ0Q5eht0gV2PmqKdOFpcm7D3lkVytGPX1IxsgqTLBNGvIUvTWjJllCf4QXqE/zDC9rl9zqS X-Microsoft-Exchange-Diagnostics: 1;DM3PR07MB2234;20:mSOhCukUvz1tEaYjroJvpsQ9GMbiQP5Unl3BfMMfOaKlOPo3bA+wFMSr6X0iJBpxurmCz2Rrat8FxYE2mBsV2+sBp9Mf9zhac2TYu16b7/BXGrLOB78birmFNlQrfdLrWKu5EcNxzgZNYSQn5k/sh/sV+oc5rJ0Yuz27aa4VLdEMzPHwfFqUtshZewWA4PBb444/thgq+hvEqIK7fDygIzwXmHqOR99x/KBTFh01Bgl7YE/u0jbx/71r8jDqk9ZavngqaFWpKdqZIaRx1CfhFUwtbWXsKmEg4xcb2/Jz2XyYO0hg0Bo/PflWi+E5gbWq4wAvPp9zdJGBkZzDgA6BVsAb/0aGks2kx+0bpHL7a6F2RVc1xWs9eVej+GS3J1GKwCHgHuvJ5jdFELKnXjpiXWUGuyCmA7/Ga3xiqFzGKHu7qGr1RV+TUMD5ow+AEEHDz5fBrDJP52wmJ9X0IrZQEvQ4dmB7hHK4JrC14s+alPAKY5K8uZ5EaLTZAB7Aw1DDHLWbnfDhS2vW6kRg8FjoxyieYIPvRevOFP4QarcTSVznj0Ah23mX1NrWlG/iOLwo+uZn8HnXsdP74qY60ZlWwI/c7BZrl1I1HdSk0FdfEcc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:DM3PR07MB2234;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2234; X-Microsoft-Exchange-Diagnostics: 1;DM3PR07MB2234;4:vHFcfI4ET+ASO6QuHz6NqPGcXyS/Ld+rNyzY5gAla+P5EybAFytT/36T2d+zQunrdHpLQUIwuRqlEmwT8wdcNVkQWcMsimQwBTJmeC9iICJFp0vbIGKFPgf28yjfbhKpTm1LKDgTrwrrzMBFv/MmVl3AnKb3QGqek+28WXhI0QKTEGhUUwLqfgx6BVrZUmtnkSgaHFFF2yl4fHrtg4m3l6Yb5MnJKJDOxKIgOHTJnkRExf8mUr9vBe38fC7ZBKunw1hn5TcnQramGWp7z0bKdZ2f1jNAKBRYFfZnC6xQ71abZ4FqAOyXo0cTbMG8nUdX+nk2YTmAbajBEXI2gyIZV0vTkgHz0qD2wQuyfzqt7Ava4nIHF1NiCq/ULCkIdIxA X-Forefront-PRVS: 095972DF2F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(76506005)(42186005)(189998001)(50466002)(8676002)(81166006)(110136002)(33716001)(5008740100001)(47776003)(5004730100002)(66066001)(97756001)(46406003)(23726003)(4326007)(2906002)(229853001)(92566002)(77096005)(2351001)(50986999)(1076002)(33656002)(54356999)(6116002)(3846002)(586003)(9686002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM3PR07MB2234;H:localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM3PR07MB2234;23:YgYJqUhyh+xXFZApzuys5ehSx1AjbLeqqzowxu+fCK9FrC6rrSmLlBHQb2QmgttUNpS1cvWEl1MPJ6KMJvimd5wjUolqKFOZ9xn7CAuq+KF7MkPTyExLnelw5SEee9Z+zTe3SdS5B/4PrPjQBNqX3cWZR4P/QT4daJtdqczHkXnaLaHGFifgLnyjtR76HsVHAypOUDMrY+DdFCwc4PSEMwaONQFeAmb4O0fjy//osx4dmDDAhW+7oDuVOBCKpGCx+ExPBtbY54uZxCgG4XeJ0QX5wVhexev1S6mZJLXKXMWMKMpKZiFzKsfwhGHfM3QmNzqxiNkk3fhbBrXkRVqXpK7NU5QlF4hyatAl78FCDSItmOzcxY+SE4hjKQufLLbhEr+lN9RwhaRz0V07CCNa3Dlq0FiwBG8zP53RxUwIqyq/I5h+12483l6d7neVO7j4HNKi2CqkBDzqOA0lwIO8z7e/5iNoSlq88D5xQvKEwTBGDcbx/LItmpm/1eHIYob2Ia4ALO7Jq5OIrlloqorA04gFLLiTGmv1czRjce7KcAKUnDJHdN1OQ/sfSUPJAD5xB36hCbRouM/5lqUapYDVMh8+JglXgiyzVMkMzHdqAsN6hDLcmhOB0+zNogeoQJ4a01ZhLL5YKrDddeSl8rIC4ktEjWVXshJwsNIziA7Py2C/SCRA69SpLBJq6ZleIYaa8PYaWy1BDVLWL05J8fGt89lFWa4RksYE+QvzQX072SiI+H0AuecMZhSUVJijpUdAwdJbFni1JtXfV0eYuwR14iMQpog6h2UjK+E7OMNU+8QQWMFS3Uizg9MYPD9//dr4S43s66dLUhzM1m04EpwOgtd4F8HPJ9BmPtdDr5qZHZo= X-Microsoft-Exchange-Diagnostics: 1;DM3PR07MB2234;5:BHDyvudmJS1mUn4eJHNX5CcmWt0UZ63x9vLEyPDP1M3DovCTcFNgE8eGpLMNi1XvBx5YWmJD8Yt+n7U17sGyHYrOybqq2gJtr5Cmt/1h4iFGgnCWxVXL+rUeLeYmpOmGhkBcBBlbVyXHOvNcBZxbPg==;24:Od66ZTjoji+C2RG1LoDSHCZXlHBcYTjGGBvFCi1iMzDgQMHg2R05+0MxKgB4jZGX6WsZ8kO4a3nxBPogyrIPBnpLHMhMsNpc8ZXlkfbPDDU=;7:Qr03hEEG+mvuMSaIygNuZZWUrHMewlw7cFgKI8BamTwWpyQrAcUV4OzOVufnnIEf3XmS7cGSMjzR0SifLDDiFFRjIjYL30wL+Ampx/REu9nysI+B2NDWupzwQXqLu3H3+d2Tik1FAjlCJF9rl1PTg/eAppsMrJd9ccLoVc2eVNurMBYDjyZsmvUNmcvCwZqo SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2016 20:04:58.1233 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR07MB2234 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chris, In path a63c7fa18a (Add sysdeps/unix/sysv/linux/generic/.) you add this: +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c [...] +static ssize_t +do_preadv (int fd, const struct iovec *vector, int count, off_t offset) +{ + assert (sizeof (offset) == 4); + return INLINE_SYSCALL (preadv, __ALIGNMENT_COUNT (5, 6), fd, + vector, count, __ALIGNMENT_ARG + __LONG_LONG_PAIR (offset >> 31, offset)); +} + And this is the code that is picked up if I choose wordsize-32 for my AARCH64/ILP32. So I have questions. 1. What is the assert for? We agreed that all new ABIs will be 64-bit off_t only. I fixed it internally like this: +#ifndef __OFF_T_MATCHES_OFF64_T assert (sizeof (offset) == 4); +#endif There is a bunch of similar assertions in glibc. 2. This one looks weird: __LONG_LONG_PAIR (offset >> 31, offset)) Why 31-bit offset? And why you don't mask 2nd argument? Later in your patch I see this: +static ssize_t +do_preadv64 (int fd, const struct iovec *vector, int count, off64_t offset) +{ + return INLINE_SYSCALL (preadv, __ALIGNMENT_COUNT (5, 6), fd, + vector, count, __ALIGNMENT_ARG + __LONG_LONG_PAIR ((off_t) (offset >> 32), + (off_t) (offset & 0xffffffff))); +} And it looks correct to me. If 1st version is correct as well, I think it should be commented. Yury.