Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4131342imm; Mon, 18 Jun 2018 09:38:18 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJAqeQWjl3OXLVntCwQxq1fiOs8WtJWVBD3ZoWzy2PKZoROn+gMeEX5/rqHQSAjW4JhcLOw X-Received: by 2002:a63:618e:: with SMTP id v136-v6mr11652706pgb.100.1529339898400; Mon, 18 Jun 2018 09:38:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529339898; cv=none; d=google.com; s=arc-20160816; b=HR0Y4bvAg4UVOgdo426Ddno9uJfrx4pdMIZYSZDxPtTOoIexMpjRTLGzxg2B66XCNm 9yF18dEvQNRqVxLwIcKNVHJO+yR4ThRFWsRmS3XKXaBClRYGj9mlKTARvhtZ0dIMTOvm M1f0iKz+AmlhGYY/vLZYpwksh4i7HoIGY326XvgtJgiZvG75v8a9ciPjSI34D8qub3+e X21ZWQoOgQSTX9iHRU4IzBoS6+pwI5tAGbeOURVkesxIt2+C7GummU7/LN7R7VnW+38v y9xMEHLtotNFTI8GJY1+j9vVTMmAHvqPruCFftc/KUZqTD+QGDUWE49xSNCZzeYU7cZ9 GYeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=7vjN77+/jno5qXEzAbHU4IedwkWZWvdSAvtUazi+EIg=; b=wl01S1h7b9uWl3+POruSMqx5ZC6TxTRuQ402xNJn4uMRB/1APK5y3enMqV6ZIRxRBk YCgdBcwMLzpU7lL/P5g4k6hTgSjOahyV57kfGOO25yfQ6WJ7VcdwtLwfbYiO08AhNGvY Jk4f1JDAMnv/ZQavtsyojUWJhvgYwzbsoDDYCHDqql7uY7KCcvohjI7bVu3+hWX7gGW7 GSKEd/qUkXmuQGn4t2u7y42bygjNodUoAMEw8BnoOIZzOrk3BHfGszqETFL1LKs9CtWY 0akd9ImAm7pFJrBVtnr3slD/v6OeF1hJ67E6n65mivmKWZ4T0Xoc01T5TxpUX+6M0RXw yiCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b="KgiTh/+p"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=android.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d37-v6si12867890plb.481.2018.06.18.09.38.04; Mon, 18 Jun 2018 09:38:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b="KgiTh/+p"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=android.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935306AbeFRPGa (ORCPT + 99 others); Mon, 18 Jun 2018 11:06:30 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:34994 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964788AbeFRPG0 (ORCPT ); Mon, 18 Jun 2018 11:06:26 -0400 Received: by mail-pf0-f195.google.com with SMTP id c22-v6so8330200pfi.2 for ; Mon, 18 Jun 2018 08:06:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=7vjN77+/jno5qXEzAbHU4IedwkWZWvdSAvtUazi+EIg=; b=KgiTh/+p44//6+Jk9ICR80odAbqKftnhIjrH5Vola7ujb5x/Nx1xIEIBXyMFLrsrGT LGb5R87p9n7U45YeQCYPIY2L/OSOGQcYlZ/ERNrq+Ane21VUSWPerLvsRUF+FFcwawIl +Lh/uv+9r9T5h/kdDmfXF8sCZjmQTfnwU16goHdrAp6oob6Zu/qt1G8er6ZDnhj4lHks 4mCdp8gZfbm7GvGGRIdfhQ65sKuQhgWVJiybuA8oB+Tj3btq6wDtGgKTHIpBWBdP87xs Z4GIjxIT4Hua/vkYGxzAf0/oO1HsniTrZFF+435GRlApy4f+nfpWIlKBoagavtcBSL2U 0CQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=7vjN77+/jno5qXEzAbHU4IedwkWZWvdSAvtUazi+EIg=; b=XNDftmMsfCh3fRVqTHrCe81DCWNtfzDQJhJ/KOFw7Aak1iktDwdCJ02AiTHCDY1lN3 2Nbr0mo8VQr3Da1bQIyXzFoikSmciCJJSJUTOViismbzuCoLxO96DXzHCupgoNKvI+aK 9qYsfIdOONxsEHkENkM+oiihJ+0fHx/0dKRONdyakZGhMrou2S5B8TqsodPf0TPeX0u+ us/tGHu2EUFz+ULqhZG1OCqVhdEK83s0+Qsa5HAkSfcngROM1a6mNxT+yOibhmPmssk8 DvtRpGkxviAwZvrZaxHyFKCaI1FoDBvdgQKK/RjHcq7Xo1i0rtQYprOB30zJAlSYPM+l BrlA== X-Gm-Message-State: APt69E1N0+OZdc/8f+1SPoflJWrErf/C1hQISHDjtbZRxlcCs0/qxUU2 +ql3qdvyZgBDJj0qXqxGFbXKgs4aVII= X-Received: by 2002:a65:50cb:: with SMTP id s11-v6mr11120003pgp.384.1529334385909; Mon, 18 Jun 2018 08:06:25 -0700 (PDT) Received: from nebulus.mtv.corp.google.com ([2620:0:1000:1611:6077:8eec:bc7e:d0f4]) by smtp.gmail.com with ESMTPSA id i7-v6sm54830660pfa.34.2018.06.18.08.06.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Jun 2018 08:06:25 -0700 (PDT) From: Mark Salyzyn To: linux-kernel@vger.kernel.org Cc: Mark Salyzyn , James Morse , Russell King , Catalin Marinas , Will Deacon , Andy Lutomirski , Dmitry Safonov , John Stultz , Mark Rutland , Laura Abbott , Kees Cook , Ard Biesheuvel , Andy Gross , Kevin Brodsky , Andrew Pinski , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Jeremy Linton Subject: RESEND arm+arm64+aarch32 vdso rewrite Date: Mon, 18 Jun 2018 08:05:46 -0700 Message-Id: <20180618150613.10322-1-salyzyn@android.com> X-Mailer: git-send-email 2.18.0.rc1.244.gcf134e6275-goog Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following 23 patches are rebased and resent, and represent a rewrite of the arm and arm64 vDSO into C, adding support for arch32 (32-bit user space hosted 64-bit kernels) and into a common library that other (arm, or non-arm) architectures may utilize. [PATCH v5 01/12] arm: vdso: rename vdso_datapage variables [PATCH v5 02/12] arm: vdso: add include file defining __get_datapage() [PATCH v5 03/12] arm: vdso: inline assembler operations to compiler.h [PATCH v5 04/12] arm: vdso: do calculations outside reader loops [PATCH v6 05/12] arm: vdso: Add support for CLOCK_MONOTONIC_RAW [PATCH v5 06/12] arm: vdso: add support for clock_getres [PATCH v5 07/12] arm: vdso: disable profiling [PATCH v5 08/12] arm: vdso: Add ARCH_CLOCK_FIXED_MASK [PATCH v5 09/12] arm: vdso: move vgettimeofday.c to lib/vdso/ [PATCH v5 10/12] arm64: vdso: replace gettimeofday.S with global vgettimeofday.C [PATCH v6 11/12] lib: vdso: Add support for CLOCK_BOOTTIME [PATCH v5 12/12] lib: vdso: do not expose gettimeofday, if no arch supported timer [PATCH] lib: vdso: add support for time [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources) [PATCH v2 2/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (assembler sources) [PATCH v2 3/3] arm64: compat: Add CONFIG_KUSER_HELPERS [PATCH] arm64: compat: Expose offset to registers in sigframes [PATCH 1/6] arm64: compat: Use vDSO sigreturn trampolines if available [PATCH 2/6] arm64: elf: Set AT_SYSINFO_EHDR in compat processes [PATCH 3/6] arm64: Refactor vDSO init/setup [PATCH v2 4/6] arm64: compat: Add a 32-bit vDSO [PATCH 5/6] arm64: compat: 32-bit vDSO setup [PATCH 6/6] arm64: Wire up and expose the new compat vDSO This patch series' above has been applied to the latest Pixel phones and resulted in a 0.4% battery improvement. Signed-off-by: Mark Salyzyn Cc: James Morse Cc: Russell King Cc: Catalin Marinas Cc: Will Deacon Cc: Andy Lutomirski Cc: Dmitry Safonov Cc: John Stultz Cc: Mark Rutland Cc: Laura Abbott Cc: Kees Cook Cc: Ard Biesheuvel Cc: Andy Gross Cc: Kevin Brodsky Cc: Andrew Pinski Cc: Thomas Gleixner Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: Jeremy Linton