From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29256 invoked by alias); 23 Sep 2016 15:45:21 -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 29118 invoked by uid 89); 23 Sep 2016 15:45:14 -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=evening, Hx-languages-length:2516 X-HELO: NAM02-SN1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Fri, 23 Sep 2016 15:45:00 -0000 From: Yury Norov To: Adhemerval Zanella CC: Florian Weimer , Chris Metcalf , Subject: Re: [PATCH] Consolidate Linux readahead() implementations Message-ID: <20160923154444.GC970@yury-N73SV> References: <1474577068-1781-1-git-send-email-ynorov@caviumnetworks.com> <827f758c-b744-22f2-5dbb-4471208cd6b2@linaro.org> <20160922232119.GA12837@yury-N73SV> <87k2e3jgh8.fsf@mid.deneb.enyo.de> <20160923124456.GA22674@yury-N73SV> <20160923141154.GA970@yury-N73SV> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-ClientProxiedBy: VI1PR07CA0068.eurprd07.prod.outlook.com (10.164.94.164) To SN1PR07MB2253.namprd07.prod.outlook.com (10.164.47.147) X-MS-Office365-Filtering-Correlation-Id: d0c59eac-a695-4d18-bc51-08d3e3c88fd4 X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2253;2:9r4we/BHirEAOwpRYfyzw4wXIv2pE+J5iegRUvJV/jSnVj7WM85Atn6/vtN/riDqqJmE/8+8KDq7rSFE05vJIJBPHVcwFfAF+aaNb7tWcj33F/m3ajBXG4XKrxwe33cofJa1ZwYnb/b3oi06oWPt/26GMqgD4YaVbkAalGmFrLv9/qAfEMTCsjVwqx4Txch+;3:QITjBlWgnTQHjWBmRQX129CxqgAF7qz6hS+8hVeDv//wWejnzvDCB1nXDLc0ZDGketv9CR/5XnPh/pDoX4xMSLIC1NhF6JVyVN+7HmMsZQxwbEcKyQem24y8EqaZAaPV X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2253; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2253;25:fwfx9+AVjSDkwMmTepTllrEWT10LBZL+tqKCH3LeI673oCBbwR3+VfSeXLm7XOYppH3UqvFSbe7ZHHs6LlGtCf4Vgls5/AfgHwYJE0Mo//orMowyByKRuCfSqYp4ZiuY911JBczQLO6J0p96cCAzdPAHf72zxXghzS6oULufNDmoNa6SfsDtZ13blszMOmjRSIDAYGL2CbK6GUIdFkKiRm2aO4N1ceUOTT19+O/Ht+4/PV16Al13dBhYp7XcpNxVDuDxtZlMD5qvJpoD9CzziBjacMsyIFcTR2lnVR2kBUCSR+yQg1OXsWCZ6LNEnXH7KbfUHhnOqdtC0jxw7W6y9Obs4jrKv0NPMkjoPtL3dET+XA2G35tjmdJtXcwPfQ+ft/BWCvhIbVCvr0AW/WuoxJkUqwDDGFfADeCFrthJJA4W2eJQYqM0KCNNCo9rrUUIuPHeJoVs9UQigHJFVWU784ewT9iUxh9Po/c6OQYa/miyPH34j/5n3oP3WOr2sOSvtyiU5AjydHINVo6TXQkr20pDhYfyXhFW0Jx11ZAB4zQiySv0+5Oj1o8uWauxK6puVEWX/d5+f/PYI4/tzdAAxbtS7O+DW8gw12HmfPsyKOxJIWbR2irXgL/D+JY4fMS6raW7Oh5TsHjvOERpnuCgC/R0+i1kKbZGogzSbcz+IJtIzN6SELrwSDdsffCQ6EK72BXePhayIcZZjanloexjmD7BOY/8t2dPUgw/pE5hddBMFCwZY/s0koK1DRtSxTA7JJWrk7ha4hNwo7wluD9egQ== X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2253;31:u+DfFPvqxia+a+t6PjRdwRsl2YRVcdHpwSqHqGGmuYtXeOSVnI2q9bMkLFrcnWgHA+O/XZATvQITHoDPB7al3EQyExZlkFsm49hRf3YCzOLzkFJyfKi8qQ2VCzRgyBRHZnRzStxleWyT2/xn6ys27vlIvOXBEy4LOrho5L8ZO8jDLqes+t1gCjRD+mCLaYH4IN0bUBz5rdWBDe44Msdytg4RfoHuAN2JFWzmzkbfZzM=;20:jbWXRXe9BzsEFfas/OfuNGnBCNEzIGGN2U2Kxe0X7SQ3YYzsH4mKG4bXN91eXB0QfuIZNmfCjU3gKxRHYBVw3Y7WP5iDLYH7F76aFtbLHIdA57v0ICm7JOCCppUnm70FPmSWEJMt5LhXeZy1lykWDZaF749Ino3TDFOKmW5o9a1Q0uoto6TUPSBjOuFKBOpgf/zM8xZGVxoig7z3NHIgMAs3P1xKUEPYebqqKqwnQCYj0HYUgDna2G3TPiEx0AAZ2ZewHh2ji59w0E/+5J0X+l86oljDsuTqTshoJTJyeFS+leJue0eAyOJcB+nv/VTVYQehFn3l1GZ1n45UnkjGRxIVBMQD4Z2a1mginvLKZQm4rvM4w6NPjE6tVbbrS1cLf3cPLqpZLplhrD7cciGCTT6f8F3zLNbjTNwMyVHCHmKffplD9+p2xPx+K8byhW8DQi0ydZ5bwtUc8pT4g9KY/FwVTIUvT8pBO6pIPeVdYYqd6yGwOJvdS0QAisadoH3WqLqzVav/mfKqpmw8sXsAmT8LUhv/KPP6oZiPwQtVLmFt1pBwGttV0dXODmWHf7D/2Vk2LRbDFzG6UrR0CCSdkmDSZmiXNPhBEf2zMFn3DKA= 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)(3002001)(10201501046);SRVR:SN1PR07MB2253;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2253; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2253;4:qePD7JVG9BtOL9oArkkDiUMaRMfk1IE9/2x0Mif9/752fLkDoSi4eOOX8TDAxMnTMCgotivM5lB2u+D0CnCNYFWsIqUgvD2tioausBufdkJsERdqbZX/f+5JPYEOOe3vHkhd1XSIw8fpxIyya97GYO1BqXWbtT0eP/i45cxkQYUxxJdVCYdwI6tq1++YSBzzubOg2HVscKoA06eK2kStNvbVZBJ4/Ny4tyqbiqiPT7VA/c2gSaw+C0YBkaJzapp/+NMVYCbCmtr+wopjlcvPlRv+NwxC11iloY5KMWbmtvdGxFjuXtlniWIRQVjNTdlyadISiOPvR/UTDEiGjZ6wkTDp/xlnC1/IqCVMaCFaXt0At4Df+Ez6Wrj41F5tqkO+lQR635Z8eBAs90dPXGjGSw== X-Forefront-PRVS: 0074BBE012 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(189002)(24454002)(199003)(4001350100001)(189998001)(110136003)(101416001)(9686002)(77096005)(2950100001)(33716001)(5660300001)(97736004)(33656002)(23726003)(1076002)(76506005)(6116002)(3846002)(42186005)(7736002)(305945005)(7846002)(105586002)(106356001)(2906002)(81156014)(81166006)(68736007)(8676002)(586003)(4326007)(83506001)(46406003)(92566002)(93886004)(66066001)(50466002)(47776003)(97756001)(50986999)(76176999)(54356999)(6916009)(19580395003)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR07MB2253;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;SN1PR07MB2253;23:rvY39joz0N5SVDSaH8LOWYuqwRyMrTvh0wCp1QIyf?= =?us-ascii?Q?hvQ8J9WMmDWYzsGiFMk9N/VMwn9X5sNhPMDm4rfUe8Xz+2Z+aCWvklVxoLxd?= =?us-ascii?Q?iL4HW7YcFm1jmyQ+swueY3GXeUYBgoaE9HlKlsbpfVQ7CMrJFOUstcthu6vw?= =?us-ascii?Q?dTdyMnvyJZNdp/knzam4BaSmJGEon+YFlkv9jZZHNeBjgU1jowy2GJCUTSLD?= =?us-ascii?Q?exLg8aeW30yIy29XQFTB3KMPAyAn2DikPMRcuss7a3Qg+mab1A8clR8cgker?= =?us-ascii?Q?cz9VfOLqATWn9b4mhambLKqEDrJJTOAdIRRPx9c5ZpGFRU/sXuacFMmGkuHX?= =?us-ascii?Q?K3IiZ0wNw35A0I572cXazXeRr/aJWObV/BlXClNsZ9tTDIdYpx6xR/kfqQt5?= =?us-ascii?Q?0fPMJjVVAGaJyCQ2elzJi3TJGPEJb0BshEHylN77Nxkoqv+UGwPVqJjFJbL1?= =?us-ascii?Q?pPSfDiXsIUe7GJOJgITLTQWnkF85GJR9+2MMVsaHVzo8HZ3PZWu7q0YOirpS?= =?us-ascii?Q?TraZKBQn2nRP1gl8aAR89f1P7coQflM8DimSViIH9LuXN4j007wiMKPPLK/2?= =?us-ascii?Q?gRJPIXccHb1c4N6daW2wi9EzVdcuvddJAm7pnlNVW3W6Qnhn979iIeku35Bd?= =?us-ascii?Q?9CzGlJmq+VwZtKjqKOHM+iHxdD3KFv8d+lpltH1uKF1hXsrVAGK++oyYDv9y?= =?us-ascii?Q?mGQ/83VeRIQ7e9HR4rlMKecQ1FRR+RomK0h/FYRh2IMIMDHpcqTYszQkLWki?= =?us-ascii?Q?G9R+dtM0buKI7AV/ekgFTNnA3apP8SbeQ775ez8ZcgQ1txi53SpXQ31xyOcM?= =?us-ascii?Q?Vdpdi7WlYNG0Otlu9Yz6Gy8u+I0toN4QVEePA2R9BSXHwM3+BXooB5zkCR8R?= =?us-ascii?Q?lCWBkv2Q07BLGpmHe/yM0MZo8047i7SRnN1moSYKfuc44AKlIo00Z5R+r8Vc?= =?us-ascii?Q?0LzltuwOknH5Cj3UBZD/MQ5LFUiGzEjWrMmt+J+puYJY7E/HCIgPX3LWXS8y?= =?us-ascii?Q?HqmToFqu40/eCukJVI9k2W27FUTjqD3KeZ/6I5R2u5Umk6m4MOnSvI/4b/VG?= =?us-ascii?Q?TW8WzMnWo35hhPnuQWbUJv88gEd4i7KfdDXl76ekbR+lPhRFydW9e3Bv3JB0?= =?us-ascii?Q?HrVpLWDDtQpRc6u4xKsaP4Ws1pgLtcMtuzGJAaMJhMY5dmPDVQfvjiSULAlA?= =?us-ascii?Q?qLXRbAFtztlSntiuyYcBv6nF1Vaia3nOpjYh3DxuqBnHRutx57LvHZAew=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2253;6:GWLk8zaCj9ctFn6cRR1Skt/kKsYoiTibLJxeE9R33zKj/aolgWQxnF0JmDM5+KalOqKGpvo9rGd7id26qdsaWMoaLhR21vJ7TB6ZZVrzz0KmDGEzoqpc+sAWhE/M+J/NGxnNP/A07k38yXKabPtOTHSpQe4RC/CeAwmOL8NynVYpnjtCGSmvIyVaDz64bHoscvkWzixoklXvAsTpi2/+e9pZgV0l6cUQTK2wQJGgKsZFsvSOdUm9bCxU/tI7u6cqVwCSQ7cFkPpRoRS8ZUEYIALf8pLYo7+fSxIOKfibnj8=;5:wp9JxEwYtsYVZNiUKLTwRych6GLB5u+CJEie5QEX2AwtFbHW9w++0jq204fG+2VYJuan+Peb1RSlLfv6LRbTiErLiyvyqN5n+UGWp3eX0KntdsMNw12lB8u97UY8k+bnlljBNUJBF2p5uBmXPOrL2w==;24:yZsvD+HtR0hquUNhDH5KxmU0ykb3X+TX0uFxA0kWUY5hAkgPbbJLL5l1G4Ti0WmyLOUPuPozYbrQCJcd1GH0LVgFMQOmz0Q56aPbB38psRY=;7:5IQWlAxIvfC1/pvbq7ThDnDRZWbTsA1uIYjP5T7eIHgkdYSS+BOtzEDenOLuAvUvH1RF1NhiApoUQarMzpb0i8CYRPCUnZ+r9sj1dykSPwC2COzbalZpwysYQmDh1rAU7JpsQNLI4F8navFEuFCDhM+SzbG/2lgjJfzCWWnToxC2Z4kpuz3Wxs9+RCtnJhD5BbZdqLtQ77ocWgV5gIQK4r/nDCd9+nJNew48YSE3XpRYXFmPQCQbdRGgOc56l8ZKazNkrV7cgh3ISeFM1Ia7MXbX7g2PJYrYiZAQXN7r2vOMBnaSqEDFyda5GvKSgcIr SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2016 15:44:53.1156 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2253 X-SW-Source: 2016-09/txt/msg00496.txt.bz2 On Fri, Sep 23, 2016 at 11:24:32AM -0300, Adhemerval Zanella wrote: > > > On 23/09/2016 11:11, Yury Norov wrote: > > On Fri, Sep 23, 2016 at 10:32:35AM -0300, Adhemerval Zanella wrote: > >> > >> Indeed, unfortunately tile seems to get its own readahead definition. > >> However I think it should not prevent us to use my previous strategy, > >> we can follow the SH example for pread (where it adds a dummy argument > >> before offset), and do something as: > >> > >> sysdeps/unix/sysv/linux/tile/readahead.c > >> > >> #include > >> > >> #ifndef _LP64 > >> /* Although tile 32-bit ABI passed 64-bit arguments in even registers, > >> readahead interface does not follow this convention. */ > >> # undef __ALIGNMENT_ARG > >> #endif > >> > >> #include > > > > Currently it looks like this to me (see below). If you think that separated file > > is better than new option - I'm OK with it, but I think it's strange because in > > other patches of series you introduce options (if I'm not mistake). > > I prefer to not add any more __ASSUME macro until it is more general > and for this specific case (tile seems the only supported ABI that > implements readhead different than usual ABI). > > > > > We also have 2 another implementations - in linux/wordsize-64/syscalls.list > > and linux/mips/mips64/n32/syscalls.list. > > > > I think wordsize-64 is safe to generalize, but I'm worry about mips64. If we'll > > choose adding new options and so having a single file, it seems, we'll have to > > add another option for mips64/n32, like this: > > My understanding is mipc64n32 adds it on syscall list to avoid current > default Linux implementation where it splits the off64_t (since mips64n32 > passes off64_t in only one register afaik). I think it is safe here, > since SYSCALL_LL64 for mips64n32 will correctly pass only one argument > instead of splitting it. OK. So for v2: - remove arm, mips, wordsize-64, powerpc implementations - generalize linux/readahead.c like below - add tile exception - remove all new __ASSUME If it's correct, I'll send new patch this evening or tomorrow. Yury. > > ssize_t > > __readahead (int fd, off64_t offset, size_t count) > > { > > - return INLINE_SYSCALL (readahead, 4, fd, > > - __LONG_LONG_PAIR ((off_t) (offset >> 32), > > - (off_t) (offset & 0xffffffff)), > > - count); > > + return INLINE_SYSCALL_CALL (readahead, fd, __ALIGNMENT_ARG > > + SYSCALL_LL64 (offset));