payload: {"push_id":3553732201,"size":32,"distinct_size":1,"ref":"refs/heads/master","head":"d9cfc0eb90cc97605d637b61c8367077a6a7c01a","before":"8f6be811fc8b8e74525b7dea5663824cefd132a0","commits":[{"sha":"a4fb04f49f83c99728bca8ad7bf829dc7d6fafa4","author":{"name":"tanish2k09","email":"10d9addef400646940f39989d9848de586394155@gmail.com"},"message":"Introducing KLapse - A kernel level livedisplay module v4.3\n\nAuthor: @tanish2k09 (email: tanish2k09.dev@gmail.com)\n\nWhat is it?\nKernel-based Lapse (\"K-Lapse\") is a linear RGB scaling module that 'shifts' RGB based on time (of the day/selected by user), or (since v2.0) brightness. This concept is inspired from\nLineageOS (formerly known as 'CyanogenMod') ROM's feature \"livedisplay\" which also changes the display settings (RGB, hue, temperature, etc) based on time.\n\nWhy did you decide to make this? (Tell me a story).\nI (personally) am a big fan of the livedisplay feature found on LineageOS ROM. I used it every single day, since Android Lollipop. Starting from Android Nougat, a native night mode\nsolution was added to AOSP and it felt like livedisplay was still way superior, thanks to its various options (you could say it spoiled me, sure). I also maintained a kernel (Venom\nkernel) for the device I was using at that time. It was all good until the OEM dropped support for the device at Android M, and XDA being XDA, was already working on N ROMs. The issue\nwas, these ROMs weren't LineageOS or based on it, so livedisplay was... gone. I decided I'll try to bring that feature to every other ROM. How would I do that? Of course! The kernel! It\nworked on every single ROM, it was the key! I started to work on it ASAP and here it is, up on GitHub, licensed under GPL (check klapse.c), open to everyone :)\n\nHow does it work?\nThink of it like a fancy night mode, but not really. Klapse is dependent on an RGB interface (like Gamma on MTK and KCAL on SD chipsets). It fetches time from the kernel, converts it to\nlocal time, and selects and RGB set based on the time. The result is really smooth shifting of RGB over time.\n\nHow does it really work (dev)?\nKlapse mode 1 (time-based scaling) uses a method void klapse_pulse(void) that should ideally be called every minute. This can be done by injecting a pulse call inside another method that\nis called repeatedly naturally, like cpufreq or atomic or frame commits. It can be anything, whatever you like, even a kthread, as long as it is called repeatedly naturally. To execute\nevery 60 seconds, use jiffies or ktime, or any similar method. The pulse function fetches the current time and makes calculations based on the current hour and the values of the tunables\nlisted down below.\n\nKlapse mode 2 (brightness-based scaling) uses a method void set_rgb_slider(<type> bl_lvl) where is the data type of the brightness level used in your kernel source. (OnePlus 6 uses u32\ndata type for bl_lvl) set_rgb_slider needs to be called/injected inside a function that sets brightness for your device. (OnePlus 6 uses dsi_panel.c for that, check out the diff for that\nfile in /op6)\n\nWhat all stuff can it do?\n\n1, Emulate night mode with the proper RGB settings\n2, Smoothly scale from one set of RGB to another set of RGB in integral intervals over time.\n3, Reduce perceived brightness using brightness_factor by reducing the amount of color on screen. Allows lower apparent brightness than system permits.\n4, Scale RGB based on brightness of display (low brightness usually implies a dark environment, where yellowness is probably useful).\n5, Automate the perceived brightness independent of whether klapse is enabled, using its own set of start and stop hours.\n6, Be more efficient,faster by residing inside the kernel instead of having to use the HWC HAL like android's night mode.\n7, (On older devices) Reduce stuttering or frame lags caused by native night mode.\n8, An easier solution against overlay-based apps that run as service in userspace/Android and sometimes block apps asking for permissions.\n9, Give you a Livedisplay alternative if it doesn't work in your ROM.\n10, Impress your crush so you can get a date (Hey, don't forget to credit me if it works).\n\nAlright, so this is a replacement for night mode?\nNO! Not at all. One can say this is merely an alternative for LineageOS' Livedisplay, but inside a kernel. Night mode is a sub-function of both Livedisplay and KLapse. Most comparisons\nhere were made with night mode because that's what an average user uses, and will relate to the most. There is absolutely no reason for your Android kernel to not have KLapse. Go ahead\nand add it or ask your kernel maintainer to. It's super-easy!\n\nWhat can it NOT do (yet)?\n\n1, Calculate scaling to the level of minutes, like \"Start from 5:37pm till 7:19am\". --TODO\n2, Make coffee for you.\n3, Fly you to the moon. Without a heavy suit.\n4, Get you a monthly subscription of free food, cereal included.\n\nAll these following tunables are found in their respective files in /sys/klapse/\n\n1. enable_klapse : A switch to enable or disable klapse. Values : 0 = off, 1 = on (since v2.0, 2 = brightness-dependent mode)\n2. klapse_start_hour : The hour at which klapse should start scaling the RGB values from daytime to target (see next points). Values : 0-23\n3. klapse_stop_hour : The hour by which klapse should scale back the RGB values from target to daytime (see next points). Values : 0-23\n4. daytime_rgb : The RGB set that must be used for all the time outside of start and stop hour range.\n5. target_rgb : The RGB set that must be scaled towards for all the time inside of start and stop hour range.\n6. klapse_scaling_rate : Controls how soon the RGB reaches from daytime to target inside of start and stop hour range. Once target is reached, it remains constant till 30 minutes before\n   stop hour, where target RGB scales back to daytime RGB.\n7. brightness_factor : From the name itself, this value has the ability to bend perception and make your display appear as if it is at a lesser brightness level than it actually is at.\n   It works by reducing the RGB values by the same factor. Values : 2-10, (10 means accurate brightness, 5 means 50% of current brightness, you get it)\n8. brightness_factor_auto : A switch that allows you to automatically set the brightness factor in a set time range. Value : 0 = off, 1 = on\n9. brightness_factor_auto_start_hour : The hour at which brightness_factor should be applied. Works only if #8 is 1. Values : 0-23\n10. brightness_factor_auto_stop_hour : The hour at which brightness_factor should be reverted to 10. Works only if #8 is 1. Values : 0-23\n11. backlight_range : The brightness range within which klapse should scale from daytime to target_rgb. Works only if #1 is 2. Values : MIN_BRIGHTNESS-MAX_BRIGHTNESS","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/a4fb04f49f83c99728bca8ad7bf829dc7d6fafa4"},{"sha":"978f89f4165f44fa26303ba24322d4f7cfe0c7aa","author":{"name":"flar2","email":"50cb9bee76fd6567c3233b8a89e4a594c545792f@gmail.com"},"message":"KLAPSE: adapt to work with kcal for mdss_mdp_v1_7","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/978f89f4165f44fa26303ba24322d4f7cfe0c7aa"},{"sha":"9eed7b3e4bd01596a0acc4267d34a35e292f2bca","author":{"name":"flar2","email":"50cb9bee76fd6567c3233b8a89e4a594c545792f@gmail.com"},"message":"KLAPSE: Modernize sysfs to prevent CFI failure","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/9eed7b3e4bd01596a0acc4267d34a35e292f2bca"},{"sha":"f56fce03b4bac4391c0df3eea8e7a563c03d12e5","author":{"name":"attack11","email":"acf100fecd02cef2faf6699a6d67014a4da84dd4@gmail.com"},"message":"klapse:Adapt for mido","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/f56fce03b4bac4391c0df3eea8e7a563c03d12e5"},{"sha":"f8f9913117860ce1deda63ae7fabb989e1a1b3f5","author":{"name":"Jisheng Zhang","email":"32a98b7880ab27b0cd7901af249e2ffd9126af80@marvell.com"},"message":"BACKPORT: arm64: apply __ro_after_init to some objects\n\nThese objects are set during initialization, thereafter are read only.\n\nPreviously I only want to mark vdso_pages, vdso_spec, vectors_page and\ncpu_ops as __read_mostly from performance point of view. Then inspired\nby Kees's patch[1] to apply more __ro_after_init for arm, I think it's\nbetter to mark them as __ro_after_init. What's more, I find some more\nobjects are also read only after init. So apply __ro_after_init to all\nof them.\n\nThis patch also removes global vdso_pagelist and tries to clean up\nvdso_spec[] assignment code.\n\n[1] http://www.spinics.net/lists/arm-kernel/msg523188.html\n\nAcked-by: Mark Rutland <mark.rutland@arm.com>\nSigned-off-by: Jisheng Zhang <jszhang@marvell.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>\n\nBug: 31660652\nChange-Id: I39d0ffc76fc5fca2c905faaef5a446d8060fd8f9\n(cherry picked from commit 5a9e3e156ec1ab26ba70b4c44157858c92bbeee0)\nSigned-off-by: Sami Tolvanen <samitolvanen@google.com>","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/f8f9913117860ce1deda63ae7fabb989e1a1b3f5"},{"sha":"3767ffb260758bb8185812dff1197f7e3d0f432c","author":{"name":"Kevin Brodsky","email":"5f74e3c951b86fbfea69f924a41b90a5a234ca94@arm.com"},"message":"FROMLIST: BACKPORT: [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources)\n\n(cherry picked from url http://lkml.iu.edu/hypermail/linux/kernel/1709.1/01901.html)\n\nAArch32 processes are currently installed a special [vectors] page that\ncontains the sigreturn trampolines and the kuser helpers, at the fixed\naddress mandated by the kuser helpers ABI.\n\nHaving both functionalities in the same page has become problematic,\nbecause:\n\n* It makes it impossible to disable the kuser helpers (the sigreturn\n  trampolines cannot be removed), which is possible on arm.\n\n* A future 32-bit vDSO would provide the sigreturn trampolines itself,\n  making those in [vectors] redundant.\n\nThis patch addresses the problem by moving the sigreturn trampolines to\na separate [sigpage] page, mirroring [sigpage] on arm.\n\nEven though [vectors] has always been a misnomer on arm64/compat, as\nthere is no AArch32 vector there (and now only the kuser helpers),\nits name has been left unchanged, for compatibility with arm (there\nare reports of software relying on [vectors] being there as the last\nmapping in /proc/maps).\n\nmm->context.vdso used to point to the [vectors] page, which is\nunnecessary (as its address is fixed). It now points to the [sigpage]\npage (whose address is randomized like a vDSO).\n\nSigned-off-by: Kevin Brodsky <kevin.brodsky@arm.com>\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nBug: 9674955\nBug: 63737556\nBug: 20045882\nOrig-Change-Id: I52a56ea71d7326df8c784f90eb73b5c324fe9d20\nChange-Id: I2b2f613f5c831798814b96cca2226782b1cc6a8f","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/3767ffb260758bb8185812dff1197f7e3d0f432c"},{"sha":"155cc7195eadc48e8b8d524433ebf31203da2ddb","author":{"name":"Kevin Brodsky","email":"5f74e3c951b86fbfea69f924a41b90a5a234ca94@arm.com"},"message":"FROMLIST: BACKPORT: [PATCH v2 2/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (assembler sources)\n\n(cherry picked from url http://lkml.iu.edu/hypermail/linux/kernel/1709.1/01902.html)\n\nAArch32 processes are currently installed a special [vectors] page that\ncontains the sigreturn trampolines and the kuser helpers, at the fixed\naddress mandated by the kuser helpers ABI.\n\nHaving both functionalities in the same page has become problematic,\nbecause:\n\n* It makes it impossible to disable the kuser helpers (the sigreturn\n  trampolines cannot be removed), which is possible on arm.\n\n* A future 32-bit vDSO would provide the sigreturn trampolines itself,\n  making those in [vectors] redundant.\n\nThis patch addresses the problem by moving the sigreturn trampolines\nsources to its own file.  Wrapped the comments to reduce the wrath of\ncheckpatch.pl.\n\nSigned-off-by: Kevin Brodsky <kevin.brodsky@arm.com>\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nBug: 9674955\nBug: 63737556\nBug: 20045882\nChange-Id: I1d7b96e7cfbe979ecf4cb4996befd1f3ae0e64fd","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/155cc7195eadc48e8b8d524433ebf31203da2ddb"},{"sha":"66efe5e4ed5baa380fc71d086d9c05639ea0c753","author":{"name":"Kevin Brodsky","email":"5f74e3c951b86fbfea69f924a41b90a5a234ca94@arm.com"},"message":"FROMLIST: BACKPORT: [PATCH v2 3/3] arm64: compat: Add CONFIG_KUSER_HELPERS\n\n(cherry picked from url http://lkml.iu.edu/hypermail/linux/kernel/1709.1/01903.html)\n\nMake it possible to disable the kuser helpers by adding a KUSER_HELPERS\nconfig option (enabled by default). When disabled, all kuser\nhelpers-related code is removed from the kernel and no mapping is done\nat the fixed high address (0xffff0000); any attempt to use a kuser\nhelper from a 32-bit process will result in a segfault.\n\nSigned-off-by: Kevin Brodsky <kevin.brodsky@arm.com>\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nBug: 9674955\nBug: 63737556\nBug: 20045882\nOrig-Change-Id: Ie8c543301d39bfe88ef71fb6a669e571914b117b\nChange-Id: Ibc9abd5336abd132ec792f0407ba27053bfda530","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/66efe5e4ed5baa380fc71d086d9c05639ea0c753"},{"sha":"868f58bcb59a5260b4599ee1f6cdef3bef3fd5d9","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 01/12] arm: vdso: rename vdso_datapage variables\n\n(cherry picked from url https://patchwork.kernel.org/patch/10044505/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nRename seq_count to tb_seq_count. Rename tk_is_cntvct to use_syscall.\nRename cs_mult to cs_mono_mult. All to align with the variables in the\narm64 vdso datapage. Rework vdso_read_begin() and vdso_read_retry()\nfunctions to reflect modern access patterns for tb_seq_count field.\n\nUpdate copyright message to reflect the start of the contributions in\nthis series.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: I13f16e71b1ecba3d72b999caafef72e3c7f48dfe","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/868f58bcb59a5260b4599ee1f6cdef3bef3fd5d9"},{"sha":"592923d1c815cdb5aff38efdc18405883b2351ed","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 02/12] arm: vdso: add include file defining __get_datapage()\n\n(cherry picked from url https://patchwork.kernel.org/patch/10044481/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nDefine the prototype for __get_datapage() in local datapage.h header.\nRename all vdata variable that point to the datapage shortened to vd\nto relect a consistent and concise style. Make sure that all\nreferences to the datapage in vdso operations are readonly (const).\nMake sure datapage is first parameter to all subroutines to also\nbe consistent.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: I9512b49d36d53ca1b71d3ff82219a7c64e0fc613","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/592923d1c815cdb5aff38efdc18405883b2351ed"},{"sha":"d271860c8679d0724e872406def12d294a9c78e0","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 03/12] arm: vdso: inline assembler operations to compiler.h\n\n(cherry picked from commit https://patchwork.kernel.org/patch/10044507/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nMove compiler-specific code to a local compiler.h file:\n\n- CONFIG_AEABI dependency check.\n- System call fallback functions standardized into a\n  DEFINE_FALLBACK macro.\n- Replace arch_counter_get_cntvct() with arch_vdso_read_counter.\n- Deal with architecture specific unresolved references emitted\n  by GCC.\n- Optimize handling of fallback calls in callers.\n- For time functions that always return success, do not waste time\n  checking return value for switch to fallback.\n- Optimize unlikely nullptr checking in __vdso_gettimeofday,\n  if tv null no need to proceed to fallback, as vdso is still\n  capable of filling in the tv values.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: I468e4c32b5136d199982bf25df8967321e384d90","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/d271860c8679d0724e872406def12d294a9c78e0"},{"sha":"e7774bbce03f341ceb2a84c75eb3469a8e4516e3","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 04/12] arm: vdso: do calculations outside reader loops\n\n(cherry picked from url https://patchwork.kernel.org/patch/10044477/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nIn variable timer reading loops, pick up just the values until all\nare synchronized, then outside of loop pick up cntvct and perform\ncalculations to determine final offset, shifted and multiplied\noutput value.\n\nThis replaces get_ns with get_clock_shifted_nsec as cntvct reader.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: I8008197f08485ef89b267128e41624ff69c33f6b","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/e7774bbce03f341ceb2a84c75eb3469a8e4516e3"},{"sha":"f6de8675f957197aa98df2882eb4c2058fbbdac6","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: BACKPORT: [PATCH v6 05/12] arm: vdso: Add support for CLOCK_MONOTONIC_RAW\n\n(cherry pick from url https://patchwork.kernel.org/patch/10052099/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nAdd a case for CLOCK_MONOTONIC_RAW to match up with support that\nis available in arm64's vdso.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: If9c09d131e236ba4a483dbc122e6b876f471df72","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/f6de8675f957197aa98df2882eb4c2058fbbdac6"},{"sha":"13dc7fd85457b7834de693a7ea4597967310dc05","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 06/12] arm: vdso: add support for clock_getres\n\n(cherry picked from url https://patchwork.kernel.org/patch/10044545/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nAdd clock_getres vdso support to match up with existing support in\nthe arm64's vdso.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: Ie37bf76d2992027f06a2cdd001d8654a860d2aac","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/13dc7fd85457b7834de693a7ea4597967310dc05"},{"sha":"9c4866d932a0721d53857fec8f22afed1d9a1e6f","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 07/12] arm: vdso: disable profiling\n\n(cherry pick from url https://patchwork.kernel.org/patch/10044491/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nMake sure kasan and ubsan profiling, and kcov instrumentation,\nis turned off for VDSO code.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: I2b44c1edd81665b8bb235a65ba642767c35f1e61","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/9c4866d932a0721d53857fec8f22afed1d9a1e6f"},{"sha":"0ec39aa0aae3c27bab58fb0f9af7683ced6a48ee","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 08/12] arm: vdso: Add ARCH_CLOCK_FIXED_MASK\n\n(cherry picked from url https://patchwork.kernel.org/patch/10044543/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nAdd ARCH_CLOCK_FIXED_MASK as an efficiency since arm64 has no\npurpose for cs_mask vdso_data variable.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: Iadf94bed6166d2ee43bb46bdf54636618e4b8854","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/0ec39aa0aae3c27bab58fb0f9af7683ced6a48ee"},{"sha":"c6595da60d927949a3dcbe05d335d439e5a4fd9b","author":{"name":"Kevin Brodsky","email":"5f74e3c951b86fbfea69f924a41b90a5a234ca94@arm.com"},"message":"FROMLIST: BACKPORT: [PATCH] arm64: compat: Expose offset to registers in sigframes\n\n(cherry picked from url https://patchwork.kernel.org/patch/10006025/)\n\nThis will be needed to provide unwinding information in compat\nsigreturn trampolines, part of the future compat vDSO. There is no\nobvious header the compat_sig* struct's should be moved to, so let's\nput them in signal32.h.\n\nAlso fix minor style issues reported by checkpatch.\n\nSigned-off-by: Kevin Brodsky <kevin.brodsky@arm.com>\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Dave Martin <Dave.Martin@arm.com>\nCc: Eric W. Biederman <ebiederm@xmission.com>\nCc: linux-arm-kernel@lists.infradead.org\nCc: linux-kernel@vger.kernel.org\nBug: 63737556\nBug: 20045882\nOrig-Change-Id: I9c23dd6b56ca48c0953cbf78ccb7b49ded906052\nChange-Id: I2caefb8b6ebc396b1febac9addb365a6a980a6e0","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/c6595da60d927949a3dcbe05d335d439e5a4fd9b"},{"sha":"e9854588ac3099907f0869fae741b8206e2f6594","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: [PATCH v5 09/12] arm: vdso: move vgettimeofday.c to lib/vdso/\n\n(cherry pick from url https://patchwork.kernel.org/patch/10044497/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nDeclare arch/arm/vdso/vgettimeofday.c to be a candidate for a global\nimplementation of the vdso timer calls.  The hope is that new\narchitectures can take advantage of the current unification of\narm and arm64 implementations.\n\nWe urge future efforts to merge their implementations into the\nglobal vgettimeofday.c file and thus provide functional parity.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: If7da1d8144684d52ed9520a581e6023c623df931","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/e9854588ac3099907f0869fae741b8206e2f6594"},{"sha":"27dacb87929039d030ee9d0523eba1f315e37f79","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: BACKPORT: [PATCH v5 11/12] lib: vdso: Add support for CLOCK_BOOTTIME\n\n(cherry pick from url https://patchwork.kernel.org/patch/10044503/)\n\nTake an effort to recode the arm64 vdso code from assembler to C\npreviously submitted by Andrew Pinski <apinski@cavium.com>, rework\nit for use in both arm and arm64, overlapping any optimizations\nfor each architecture. But instead of landing it in arm64, land the\nresult into lib/vdso and unify both implementations to simplify\nfuture maintenance.\n\nAdd a case for CLOCK_BOOTTIME as it is popular for measuring\nrelative time on systems expected to suspend() or hibernate().\n\nAndroid uses CLOCK_BOOTTIME for all relative time measurements\nand timeouts. Switching to vdso reduced CPU utilization and improves\naccuracy. There is also a desire by some partners to switch all\nlogging over to CLOCK_BOOTTIME, and thus this operation alone would\ncontribute to a near percentile CPU load.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nCc: James Morse <james.morse@arm.com>\nCc: Russell King <linux@armlinux.org.uk>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Dmitry Safonov <dsafonov@virtuozzo.com>\nCc: John Stultz <john.stultz@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Andy Gross <andy.gross@linaro.org>\nCc: Kevin Brodsky <kevin.brodsky@arm.com>\nCc: Andrew Pinski <apinski@cavium.com>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: linux-kernel@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nBug: 63737556\nBug: 20045882\nChange-Id: I76c26b054baf7f1100e03c65d6b16fe649b883b1","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/27dacb87929039d030ee9d0523eba1f315e37f79"},{"sha":"7566f5cf0930cd64a61a394407fb55206939fce4","author":{"name":"Mark Salyzyn","email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com"},"message":"FROMLIST: lib: vdso: add support for time\n\n(cherry pick from url https://patchwork.kernel.org/patch/10053549/)\n\nAdd time() vdso support to match up with existing support in the x86's\nvdso.  Currently benefitting arm and arm64 which uses the common\nvgettimeofday.c implementation.  On arm provides about a ~14 fold\nimprovement in speed over the straight syscall, and about a ~5 fold\nimprovement in speed over an alternate library implementation that\nrelies on the vdso call to gettimeofday to fulfill the request.\n\nWe can provide __vdso_time even if we can not provide a speed\nenhanced __vdso_gettimeofday.\n\nSigned-off-by: Mark Salyzyn <salyzyn@android.com>\nBug: 63737556\nBug: 20045882\nChange-Id: I0bb3c6bafe57f9ed69350e2dd54edaae58316e8f","distinct":false,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/7566f5cf0930cd64a61a394407fb55206939fce4"}]}
other: {"actor":{"display_login":"Ovenoboyo"}}