From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 46770 invoked by alias); 22 Sep 2016 23:21:48 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 46750 invoked by uid 89); 22 Sep 2016 23:21:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*r:104.47.42, H*r:sk:NAM03-B, Hx-spam-relays-external:sk:NAM03-B, HX-HELO:sk:NAM03-B X-HELO: NAM03-BY2-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Thu, 22 Sep 2016 23:21:00 -0000 From: Yury Norov To: Adhemerval Zanella CC: Subject: Re: [PATCH] Consolidate Linux readahead() implementations Message-ID: <20160922232119.GA12837@yury-N73SV> References: <1474577068-1781-1-git-send-email-ynorov@caviumnetworks.com> <827f758c-b744-22f2-5dbb-4471208cd6b2@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <827f758c-b744-22f2-5dbb-4471208cd6b2@linaro.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-ClientProxiedBy: AM2PR03CA0017.eurprd03.prod.outlook.com (10.160.207.27) To BN4PR07MB2242.namprd07.prod.outlook.com (10.164.63.148) X-MS-Office365-Filtering-Correlation-Id: 4f90ed45-743a-4370-7054-08d3e33f31eb X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2242;2:NolIe68IcDkIJtOJ07/At8MoYo90lhxwn5lhEMSuuV/yVSJ5swJCDZwjrMR36GIGXakrKGDHkvfUEJoVAEtKWBNogOIFcXtmmXbQgSN2oaC4fXHA672jvcIJ58Dfrb+uiASQn+bSIth7Ajs+Oebway4zlRX3CJfFg4StU/4XTMzhB7Eb+nbsOP2qpoyHexwk;3:IC7q/6PZf/Lh0+jno4qbvilaoWT9H3ootASbPtkuIPD+WHNNKU7C7lwQhjvArZLafYIBY7KtR04KVb81LVhz5+Bo14s2YPvebdAEnaodUG+rdIYZCTpo+/Ufh9DhYI5H;25:Cpo9ITgPlOF55CCguIA0BKO9r7CU5s+jz7kthCc5EAKJvzygRgBtWsOAqKLnM9rBR70a9DZ/6TseBqyiDyAryaPtZS+WnvXhWhKE5VhkFT8I0GzEaGCiGhEkZraDmShTVXgCZf7SkWUKSvfj8r3rsZk/XweBla2y0Z8JSZ9qNBVtBtvcwZwg5LuV+OOxECi2cZ8CrJkt8jt+6l4/twW3hVZzAuJ1bWvuFCW9ULLjnm+c0aHWu8V5irNY6z0l/Rg9GgzCEHG2fqKSlj19HxVbMpGww8WzhrRmSOPMwRnZl3MgAlDGI4zu2e5S4wyWoSACsxsa8WgQZcs+JFVt0KYuA2Xl7wUN4RLgXJB/+aotrbBaUBFtzuZ2eVx/yslr978di4gJri3+K+r4PMKw2qGcZbD/qWkYdQrSqaF38rbyC0s= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2242; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2242;31:Hky4WKidQu94h/baG649oEUaU6iYB1N4vv2PGYuOLhu4DCV5cXjJy6WiZyx0FAGpMe62PF6M6ttOeQT+o4Mv6PHo42amK8tjRsQgiN4/iSPfyJifELsBqWbZsqG9pxVVQcqVXuSvbNAHo6GwBdzWHwv0OYAvqnjEfKvE51RBNOawIzxUajnBXMEbgB0YqWzGWgBzT6jZf3PSx+Q/GKLk2BcJpTTxmBSrkH1TcIZ6fY8=;20:ymGJ6srvyUpDQYZfWGH2n8zl5X2vj4uoUcgRewCc4EmVWNzlZul5PKPIJeJCZ1grlc6ZE8OmX7di5tZoGVK06S8Q0kei5TxK2R2Mc7A0/xFmpkd/IEusp3bMayWvT+05x/yCrNzX5A/cSaXKZgtZn1VNi5FIRsEBJG+YPIAmLhzMnhKFlomZklL+XpdKOEiCL92NFL1R9p+tPmahco/arXdUkRHvd5l3gL6xQAEmXfBv8UJ1rwxloQMklV8qrQd00PTXy5DYwJkgk1P1f/HhGyYw677lF0lrQ5V1VerXr3aF7FK0/WLMd0JF+RJsdNkQ7OeFUvY3nGpkcGtRpm+DHqCK5Rf22eLkjD4NfIsDMzuq6GJ5Yx9ZYlfFy4iYyxC3uk5w51XjdH+Eb3ZRqiqWw/V+BJ2YBNEaGC2JoXCTQ5DknISZth84h38AcS4ff9T+s3eCMlL43TBtKgmKW77xvwvLjFhLvwnhp37FN75OH7N7o5aYsbRSJEmyG+R1FWK1eN4099TZs8TxLSeVnJOFYxAk+VpRsFcgEY1F6wh/bTkH8dtnVZj/67LshljwCCvfrRDa2cQuvEF24jmekowb6U9fhPLCJhfs2JRTVsBO3xA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:BN4PR07MB2242;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2242; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2242;4:QYL4UJsl59reWbaUlVqOGi/KkYIpVWuZDFljkZnZyYHws5l44bmm2aqyOsWfZPVc+CErxWN2X5P47ra4myITQ96GWh/6yclCJAly0wKR6G1yrC66fmdNZxgWeUeqEI79WQ4o0SQUGY1oQrLDqA7Vbrn5mdjFTG4S5J2bhLmh/rcLd7blkMtZ9tLkU0ukTAOw0gPw5Um0xdiGwjAHigL8ZSahZ9t1QoYxw6kNEku58oUO5Ogn4lHszQh7Gr4xzTKIVqvKoMl9tkb1fVvR9oOQUddGCBrm0LMcKwavp3tyG7Hvzks+S0+ZWH9wJEu4elaw51FhR8WdieANd4ZfNk8er9ZShAnEzXEeen0/Csrwp6pvVkv0Wn+zRzgIOC40TnN/ X-Forefront-PRVS: 0073BFEF03 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(24454002)(189002)(199003)(46406003)(4326007)(97736004)(68736007)(1076002)(2950100001)(189998001)(9686002)(110136003)(50466002)(19580395003)(23726003)(2906002)(4001350100001)(586003)(6116002)(3846002)(83506001)(7846002)(305945005)(8676002)(81166006)(7736002)(92566002)(81156014)(76506005)(50986999)(33656002)(42186005)(106356001)(105586002)(77096005)(47776003)(15975445007)(54356999)(66066001)(76176999)(97756001)(101416001)(33716001)(5660300001)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN4PR07MB2242;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN4PR07MB2242;23:ToRX8BqpSQDimIbE90TrE0QDT+X/BAFw7xnt8zY+A?= =?us-ascii?Q?rB+cmZjgT8B0WX5xUtYAmKINFzhr4YUrEx1i/bvAk2p5eT12mAcjcOmcICK5?= =?us-ascii?Q?H570i1dVyk/9h82v3UKtC3j9ftKH9vQ3tYNmLy79lSj7mHhSuVeTJWmO/pCl?= =?us-ascii?Q?42xIq6ZtWQCl7jwtBjRgaEmj1n0xCEbUciQVFy6kg/1XZ+elLA5RfObOyJer?= =?us-ascii?Q?g/sWfYYFfQGepbvVlyyfZRrwiAUU+g12/8Kl2kz30+ekX03S8YfUJm85yzXA?= =?us-ascii?Q?X+Lgn7DP6MXiE2/4A8/hK5Xq6WeF2dtRh/vKTucfyVT+htYMkgqZyZaiLBFQ?= =?us-ascii?Q?/Lxl46n3TPNrhaNPUGp92f2PKL20Cn/0J4Rdf1m8L0CnpTqcGmEUyKe3/f1U?= =?us-ascii?Q?OHHVcmvufWXrMnBRwlxIEMALgjnQbSXl+sLWEa1i9AtU3crlylDVhXdXCZCk?= =?us-ascii?Q?xkuZXneJr5RtZRHD0P+fzLS40F45+GRAMXTYG6IDjJeaqmtr/LVHJTdrZE4Z?= =?us-ascii?Q?RV7S5Ki8EY/qq5NROJoPZTHuDzfA6ascRse4nqa1YvzIhYSbDbCUmVmoZzSi?= =?us-ascii?Q?vBZ+NjoIB5u4+qQkp8EKx4bD7CtvR37d6DweIkaRdLJDaBU+tD4pmss37bH4?= =?us-ascii?Q?pkqiO0Tr4kF7TKDltUpRjhUiHLHK56CI0hFjoJ0TvbSY2b8CB42y/JoVtcMs?= =?us-ascii?Q?Z3SZBqNDfP/r/geECc+bQNbr3ilZwyEDUyOW4mMmzWVSA/uRNkjdev07yvlZ?= =?us-ascii?Q?IR1Lngz5zjPcNLWXzdT9KOzOQ9gNtZHNF5fblvKYHFMIdUF0OG6PZcJOzhGM?= =?us-ascii?Q?T0UwDBlRt6XE1xIJsXb76v1emOQLfJ/bI+qHXXuBl3Pbc7jz5YAqmq2djJ0i?= =?us-ascii?Q?oK3XeSAEmgkVk7S/v1+Juy0ld/jMWZMWOzdmzMUGN58pr2tUfPUnaI0qA7/q?= =?us-ascii?Q?pe4EvU+JW9CUnc1E267BBYqBEz/uNclpg1JrQWKON5hkWwCtg5fT5pv3eNFF?= =?us-ascii?Q?7elupb67mxaSV9XtYXcor/K3O9Mlay2RBVsj+CLNqYS0NbqiwpgRzobMk2ao?= =?us-ascii?Q?9Iz64OBscQvWViYXZymfOANL8jhl5P7P1xLXS3gewvsNkFqa/KbzPcjQdB64?= =?us-ascii?Q?MZp/e2vGIFiPTy3fWniuEfiP1digCJJeG9lDRCtYz0fP6EVp/2B/UMGM6NnY?= =?us-ascii?Q?kUAbtX+CwvgVYA7ocsZw1nDsfz33kWJDjUKbbn2GK8OVeZwSkIWCiKcrQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2242;6:YzSG4J5skNsgwhsvW9mGaWiKdJrmUgOecaGuT0sXADXry7UBIFOJcuhhLQwzjdV4Pvv+cgktG5KOFNHCA1Hyo1bU1Y1AQZPnssnbUoI3YZdwgFpo9ZtwrKBDd35nKTwmDjwj2znJO3cdM3XnvFvnRLy38n1Ktr8CM+NvWHv+J/NL9p7UFhangqvmmaDPYSN/Q/1rKtN6pQCqoYgnjOCwPbz/7B5lgoaXunCoekb8ol90xuXal/umrn03/81PfWeLP646yyLlEWhkFywbaGl8tLa+IoSjnr0nuITqaSEEYXA=;5:psb7zObowi2IV0kO99iix8z8hBktS+UE4e5K8ztUm23fz+nIKhUh7baiTfZ4CGiDr3ZKXrtMFdQeGmPzgZEYxy5sj/HhQ8RmDv12oiyM+dpipUHb1ICLlLfnWc9xDIQHfaO1wC+VAmaOs09MWhnK6g==;24:F6ppz66jdxtAPQYOyk+nHpR4JoVwaKBfDOm21+jRXQ8GSuefBmGxPe4QQ0scqPI0Yq3K19+Yjmtl66brZfTDbhX1bJ23SSg7guZzOqzuJIU=;7:mMWavv+apg7ZhvgS8lsjnMkE7aFJWTvU890G+fOQaA6b9QX6xVm96ekF/drQplzDPHnBbcz9Txy7YvvTJVuJf6BL9f5kftG0POyEG3t3sEdAdG8Tt7izGun5BZQUCIyhEC0gcU4LJOyyE0icOzoTHJesbhXL+SVgcpv+DVqOG0h5uNVZTwgd/IT8U9lVmma8wCVG5wZsIrMbF/c0qlC/gqoJMEYEqQ8eVLmZfiXDlthgsqlwUMb4WDp2eyMNUpn07hbiqGjs1a6rmeUgZKU/wI41epOP7WHF7uffIAqB4yT4poQernByr0ui5Xe/43Ma SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2016 23:21:34.6287 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2242 X-SW-Source: 2016-09/txt/msg00476.txt.bz2 On Thu, Sep 22, 2016 at 06:36:22PM -0300, Adhemerval Zanella wrote: > Hi Yury, some comments below. > > On 22/09/2016 17:44, Yury Norov wrote: > I think we can use SYSCALL_LL64 plus __ALIGNMENT_ARG here. The tricky is to pass > the correct argument size, since it used by the macro to select the correct > arch-dependent one. This is exactly why I proposed the patch to add > {INTERNAL,INLINE}_SYSCALL_CALL [1], readahead will be simplified to just: > > ssize_t > __readahead (int fd, off64_t offset, size_t count) > { > return INLINE_SYSCALL_CALL (readahead, fd, > __ALIGNMENT_ARG SYSCALL_LL64 (offset)); > } > > I suggest you to wait the {INTERNAL,INLINE}_SYSCALL_CALL patch to land and > based this one on it. I think I addressed most of Florian comments, I just > need to check if assembly generated using the new macros is the same as > before (which I expect to). > > [1] https://sourceware.org/ml/libc-alpha/2016-09/msg00452.html __ALIGNMENT_ARG is controlled by __ASSUME_ALIGNED_REGISTER_PAIRS, as well as __ALIGNMENT_COUNT(). Currently we have 4 ports that enable it: mips, arm, powerpc and tile. Mips and arm pass 5 arguments, so __ASSUME_ALIGNED_REGISTER_PAIRS is what they need. Powerpc uses syscalls.list (thanks for pointing it), and so is not affected by this change. But tile is still in case. Is my understanding correct that it uses linux/readahead.c as implementation? If so, this patch will break tile ABI. That's why I introduced new option. So, as for me we cannot use __ASSUME_ALIGNED_REGISTER_PAIRS because of tile. Is it correct? Is my understanding correct that powerpc layout is identical to arm and mips? If so we can remove readahead from powerpc syscalls.abilst and switch to linux/readahead.c with this patch (or with one proposed by you). Yury.