From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52721 invoked by alias); 30 Nov 2016 11:06:04 -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 52691 invoked by uid 89); 30 Nov 2016 11:06:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:mail-ve, mechanism, risk X-Spam-User: qpsmtpd, 2 recipients X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <583EB285.5050305@arm.com> Date: Wed, 30 Nov 2016 11:06:00 -0000 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Florian Weimer , Dave Martin , CC: , Christoffer Dall , Ard Biesheuvel , Marc Zyngier , Alan Hayward , , , Torvald Riegel Subject: Re: [RFC PATCH 00/29] arm64: Scalable Vector Extension core support References: <1480102762-23647-1-git-send-email-Dave.Martin@arm.com> <7a35d1ae-73df-03a5-c9d6-1a52754acf25@redhat.com> In-Reply-To: <7a35d1ae-73df-03a5-c9d6-1a52754acf25@redhat.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM4PR0101CA0062.eurprd01.prod.exchangelabs.com (10.165.22.158) To VI1PR0802MB2159.eurprd08.prod.outlook.com (10.172.12.16) X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2159;2:jUDk6z6pFjivDf79ScE1rRLxJJAI3PG20jaVBSxOgdIvZHuYsf3qBTDVi0GmRs9nXyReT6InDPt97r9yJY5NxlewteYVvggG/MQW/En0fQIn2bVR8bGq9G6BqTtiXDIby/gXFT2+mnIv+Wis2Dh7QnDguxpljX6uNvT0WfkgilA=;3:AbzdkHFf7f0NnzarFzUAbaRxpA1O0SEvzOwsSkU8NIuZdLcjvCyC5Y2N1iu1AwKiCisaS6qJmOq0bLNNMT1ADWhEIIzDBCNw02ULGIojNorvqpPaA5MRK1TN4uPGcEpTU9jgjeTkCxOd52LbOb4Y9LRjkduuX+kRB96HJmAfKbA= X-MS-Office365-Filtering-Correlation-Id: da1c67d0-aa75-42de-c660-08d41910d4bc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:VI1PR0802MB2159; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2159;25:932qCBWdEAbPsol54ociHKU+DSXWmbjlPLRalsAYabyvJUrKEIXJGRAbzilxT13mU612V4AK7RCwMzhdZLdMKoCA4s9/VqVuKu1xcBKoKX7WHKeLO1tipgSwWkdRypzeysS67IaVsmJW/EH0KtDxzdQkcy/cDJ1JEHbUusUvLTTvMm59kHXYB/MjogZgL0Fwa+kpntgzPjMGEvrogWnrkm1R0APPyvHwch/YXg+lcDp5NwK7zLnZm/3bEkHqXEVLXyX2uSIbrIGZdgcpKPe4YOzvmb3vo6X5M26gdf6uAxOpPhpYPzIt7OCy+zIC1iASKqWYsrR/NRHT1ntq1bSXeJynpv01/ey3PARKSgRtbftq+oLnVm4+ghmLKafL5sWBZrgw42hQC4b6HyKhrAh8EYFUQBYUPlAQxBtiGsDGxH6x4tIA3OtdC7DuqbNjNhBZMEEl1OqUOnV+wWiD3AagmoPfLZsPN/yMmruGReoBG1OU3QLEGGlANm1v5bXKnX9bz7WsClF2ZfCkRsQ7YIZRotKVlvbSyFLuAXF1Qg0+aum5vWpRAwzS6PQxsII6Gb0WfgBVf0RGfWdyYmMzQYJypLVakuTD5rjtDYKwGMJY87L8ea1hZVFmcRmdymQIgFPdjTq2NvVVioGQvkmiq8XdWjTapeam6Qw6mhGbQof3+jbjeBUJin3vpaDy1x6liU0JpKcOYSRQ1aJixJ9qDKdCd30ssKVdJyZG42xlijfYauOiY6Od4BL5jH/KjSZmA5yC2BS2XtNMK+qTMdyGzQI0Jw== X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2159;31:tUW5AaymOiUd1XMXHU1gEBTitix5NpeQKaO8eTFkVTweeOWS7kAB1qXxFdIFpxrM3n4ZSUROcVFW6qQxSWtA0LmG9aS02Ky2JXGQi34SD2H5mOXAPFt3ZWBGdKWxHzafED+bcegyjnjDsat7CpIVgxcCO270Nr0hZM79u4R9R42mcOVwPEfsZ3+vYUcs5mBOefQ63FtmnSviP5yxxbQcHuHu5dqUGDLfHS6JVzRnIPLKkMoardNNjPTRP2RQ7n53;20:HIFJpp6lNxYccWKUFUZpj3qInlCCl4Yu8OsWoQCENYHLnmfTM+7pYXD95X7EXwhsFbu0u2R6KEB1j2xdiHgxNnXbQPRFdL6DG3LywHzjo3onwEm/oB5SkrkPx5PuR+I0TSiw64u0xP3WT7SUrTplq5eBrDRpVTc+3NvATaIv91k= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123562025)(20161123560025)(20161123564025);SRVR:VI1PR0802MB2159;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0802MB2159; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2159;4:KHu8K0eeNX07GcxLkVKPRfdLqs3P37Fu3IaFGpnIlCHwcxh9HgPPFdGvh5ahWXE6zkgfHJQbdRtyD5H6tO8xLbjBPCTU8X0Ravq4Aw5IxW5c193bKT30522nK0kMr/KsJj32JEDNKftmGTKKTky5ICmWRhucK8l4+BKa8ogtTxmXsRDLjtbO3gxgAmrPq+YyCoCaNxz73GsHSjAkjVYK/svVKu33HJviDuaUYqS1V92N5Tul/iJ1TNmhST5KNK9QHTd7e3GTFLnK9bip9zMrcy1leAGNyx8a//J+oAdBNMPWr2GC52D4ZGiy/CuiPiRhcknjWXuow7uc0nUn2957Zkzxa+QPgaxcO0INlFdQoSgH+x4uIwOisYNzk7QwxpZs203OfIg2WhKpCoVF35XVJE8SG0ZLoXqpQi2CjTR08upPx2Z5NC5IlEMTv1HwGZwon7kIJ1/Or9ZF7bd6+VM6zwTkp26DQ9icPKh5tKHql5hWDl9sQmhui591v8gA1bf592uwgNnR1P/3JY7TuHQ37TFd/1JgmX1vSpo9EyN6jODux4dIZnUJf0IX+UGF4zCbqHftQKx/NTl4syg9nioADKYPqqX+wb0dhYvWj/SczbpRnKIEcSDNTWKNxcZiHDcQ X-Forefront-PRVS: 0142F22657 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(24454002)(199003)(189002)(377454003)(50986999)(87266999)(76176999)(97736004)(65816999)(64126003)(54356999)(23746002)(101416001)(5660300001)(6116002)(3846002)(47776003)(65806001)(65956001)(66066001)(106356001)(105586002)(4326007)(81166006)(8676002)(81156014)(80316001)(42186005)(2906002)(68736007)(230700001)(92566002)(50466002)(59896002)(7736002)(7846002)(305945005)(33656002)(4001350100001)(6666003)(2950100002)(86362001)(77096006)(36756003)(189998001)(733004)(83506001)(39410400001)(39450400002)(38730400001)(5001770100001)(229853002)(6486002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0802MB2159;H:[10.2.206.73];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR0802MB2159;23:ilDmAQuE9tN/Iepn1LBc1cNQjOQYQwQeuVe?= =?Windows-1252?Q?bOu/8G0OF9OUVXhaYu3bqyq/J+1WE6PhcRuhIlKtNnUSq7FJ3YEJtcQs?= =?Windows-1252?Q?R7DKJ3rvWNB1lKoJRfNiaZc6Gzi6xBxDSm/UUbAULAyfu7/B/j7H9gBm?= =?Windows-1252?Q?QSUE+SS13SrhTseuMqPxaAiCiU7VpG1vwU6f8/4fppfe0gyb58ztlU13?= =?Windows-1252?Q?xkqKKK0DR5w3pWua8ehXbjQPqSxiT0o7aSwqxetJmME+3dvK1QztXQ7E?= =?Windows-1252?Q?ZtmBVcqr8G1/0NHAv4lDJGU93fahxrolA4cKf4Cjequh9TKWg91VSltE?= =?Windows-1252?Q?g8vWEWwTOUXNN//8uh16GoJ/3TB+NvsRvGCvk1oBdGw/xIu4f39/3zte?= =?Windows-1252?Q?dvBaFi6+vRcKhg8EZG8pDpgBMtKLaXl2v+kTbvF1hQQEud8QMgnY/7Qk?= =?Windows-1252?Q?Unpx6wIPdYgd77J1+uIgBxWLFRBiOEJ/iI3aR3456r7TXEpt4b/we7at?= =?Windows-1252?Q?aRLdFTJdHln+ffLAg2TND2WpSUVWuSFKQmoauGj4Fflid4nsZixnZjsj?= =?Windows-1252?Q?7O6fuInTJoNtXnHApgzt4PVFAGCxmhZdU7wmyGrfT1z21k4Svde0M2Lq?= =?Windows-1252?Q?MhfwwNeaD9G5g4U5FgIIHvI0Lijh+re9SfK0vtv0t5L0QwWPNIH2zPeM?= =?Windows-1252?Q?aYjdfeaCyKeS4RtOtiyMuaz3gM7AMGc7oJQeMfUmJwjePV5u93vqoeZQ?= =?Windows-1252?Q?O9RJDOJyUeJEQWbEqOF6cx4Yt5vZ81SgtdHmGhgwvO0NO+NQGeIOyYtj?= =?Windows-1252?Q?d/JxWTr5cSy6xENtYtvtnxdOmQutp7EZbmiXA6VX13zDVswt78jg1jLi?= =?Windows-1252?Q?xJ8J9qY2C3NG3rekOVIjrXkZ3EQRQ9mujh6NwHcAQH4/BkUu4QdB4/IS?= =?Windows-1252?Q?yQnvm6TRoAuqPCl/yMt8kvUzBA1byeVM9kN7KCR/2pRAGkNpAIvKY7X0?= =?Windows-1252?Q?CyUaiA6Op7Wq05fgqJ7Dt1zR+XVoyfGdAOhNfVEKJOyGaZF2Ww/nv/9a?= =?Windows-1252?Q?mKc0C/UAOpqpXCe1f4d6nTs936uqfZ9J2tBKTVWhDxyvqNgzMneZZmIl?= =?Windows-1252?Q?ZfBkrsaPEHQIDzMx0sRdq23dIT14LSLMKtfbRCm7J7q0OXG5kirNXhgs?= =?Windows-1252?Q?jwJSvaHteUj6ffZE2IOTk5RjaM2SngS5V9lzcbH2ZJjLXy3nYmiNPMbl?= =?Windows-1252?Q?qLtjiJM7UQhTZdGJz8aI5GdrbSMG9Nubd14b2lu/AK/wDXNELxEJLtQ+?= =?Windows-1252?Q?lvnsf2Iko+g9wOXHeuz9TZtKozoctjWaWeTLutGikNzXHpSdgOIk2EKy?= =?Windows-1252?Q?fLo7tMbyEMA4v5yMb1ZqM4iqdA5Om2N1gqLnGQi3sqnPPOTirwF44w5O?= =?Windows-1252?Q?4EkMLUqA4BP+PqXEXOelkV0XxC+VBXCp8woaM0HaNcKVbp+5bCdmzQX5?= =?Windows-1252?Q?JZdUTPv4jpmDJULKXfWLXE9AovouaaUFIm2KHfaEqeFr6ihgSAZRLZg6?= =?Windows-1252?Q?UhnoJy7pYVzi92pY=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2159;6:6lMbuf/RtMAi+oSR3pjIvR+MNzIBhAMC3QAKxgS0hcyy8uSHGDgDs8wmEUQX1haB3jYIJ7UT6h/lAyZmCClC4E/rj0FdzjKW0P0i8St3nmYeZ46vCw0mDbFAQRjf0MZ73DBeXgQettc41SJeZsiZ6YaGV7zqL0+CEdagxN44uhyYqLeewIakGZsrK4jsCf1iFkach7BI5Sg24iA4U4ZcgJGKKFS6pIeTAH4MI2kxXx6iHuT8zyywN7XIb8Z/EDc841IRwTHfJ56x5hFqZO4TamNC8OJ3rh1br0w1LQ4J7IhtFKmaRqtbCUbBj4EvyUd5lzT3yrrOoMORqjiy1yRDNsVR/7/EGnMfN5UNcSb0DmY=;5:/jepovjSvqFqaeu8qivdWLfxagyKcHGbIVPQa/VC7g6cHIeHG55B/KMUF/xNdO4FhAlxu6kyfD2LQWOO3fKdVwtktnNWCjw2eN/8A9pMLzBClJvyxqK5/e3JiGqjRE1bxIPBvhouw/FThEJ2qG/c4A==;24:mRV2DFDB9pnrtEdzLV1F4KkH+XIA26nJOfROOjseB3Dx/uAOXkmrtwBGEGcq6MP5nwy1y+YrImDDjFq5DMemHPaN3b27lO4Oo7B5lmou1Es= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2159;7:J42NS1DsoWa8NIUQW/lcPe4njW1Ef84Qw98wD2U8gL8h6B1ukcgRM8nCl2QtbUV6MtGLerz57ycK/G9+ZqMJhMaL33cLza+MAqBW20OWd2YTz2ZqJd+2WGH1P7if+kd2riVXV2S04Rwv25asBpeizHnn/vVvARIihh9sXXd0DYYg4ebPK3y2dnLQpBJA0HT99ojeZQjFsAdVFaO7pm1qwc3IS0pA1uHN7cVSj852vqJoXKVCN3g+ZJfIyvmDt2U2FpHt0jP+oEWMUH6nLattfUJ2uB401wqDdipnNH8mN81uSfUkIDVQqbfXss737V8QyhhU3Ag6k81lHv4O9Bk8bfZWN0C4+fUpfKrZIf4USUM= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2016 11:05:44.0551 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2159 X-SW-Source: 2016-11/txt/msg01090.txt.bz2 On 30/11/16 10:08, Florian Weimer wrote: > On 11/25/2016 08:38 PM, Dave Martin wrote: >> The Scalable Vector Extension (SVE) [1] is an extension to AArch64 which >> adds extra SIMD functionality and supports much larger vectors. >> >> This series implements core Linux support for SVE. >> >> Recipents not copied on the whole series can find the rest of the >> patches in the linux-arm-kernel archives [2]. >> >> >> The first 5 patches "arm64: signal: ..." factor out the allocation and >> placement of state information in the signal frame. The first three >> are prerequisites for the SVE support patches. >> >> Patches 04-05 implement expansion of the signal frame, and may remain >> controversial due to ABI break issues: >> >> * Discussion is needed on how userspace should detect/negotiate signal >> frame size in order for this expansion mechanism to be workable. > > I'm leaning towards a simple increase in the glibc headers (despite the ABI risk), plus a personality flag to > disable really wide vector registers in case this causes problems with old binaries. > if the kernel does not increase the size and libc does not add size checks then old binaries would work with new libc just fine.. but that's non-conforming, posix requires the check. if the kernel increases the size then it has to be changed in bionic and musl as well and old binaries may break. > A more elaborate mechanism will likely introduce more bugs than it makes existing applications working, due to > its complexity. > >> The remaining patches implement initial SVE support for Linux, with the >> following limitations: >> >> * No KVM/virtualisation support for guests. >> >> * No independent SVE vector length configuration per thread. This is >> planned, but will follow as a separate add-on series. > > Per-thread register widths will likely make coroutine switching (setcontext) and C++ resumable > functions/executors quite challenging. > i'd assume it's undefined to context switch to a different thread or to resume a function on a different thread (because the implementation can cache thread local state on the stack: e.g. errno pointer).. of course this does not stop ppl from doing it, but the practice is questionable. > Can you detail your plans in this area? > > Thanks, > Florian