Message ID | 20220704014046.34596-1-haibo.li@mediatek.com (mailing list archive) |
---|---|
Headers | show |
Series | cfi: free old cfi shadow asynchronously | expand |
On Mon, Jul 04, 2022 at 09:40:44AM +0800, Haibo Li wrote: > This patchset changes synchronize_rcu to call_rcu in update_shadow. > > Patch 1 enables the CFI sanitization for cfi.c and > bypass __cfi_slowpath_diag. > It is the prerequisite for using call_rcu in cfi.c. > > Patch 2 changes synchronize_rcu to call_rcu and > free old cfi shadow in rcu cb > > Changes in v2: > - Remove _run_cfi_check,add __nocfi to __cfi_slowpath_diag directly > - Rename _cfi_shadow_free_rcu to free_shadow > > Haibo Li (2): > cfi: enable sanitize for cfi.c > cfi: free old cfi shadow asynchronously > > kernel/Makefile | 3 --- > kernel/cfi.c | 14 +++++++++++--- > 2 files changed, 11 insertions(+), 6 deletions(-) Thanks for sending v2! For the series: Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Sami
Hi, Haibo, Sami Thanks for the changes here! With the Linaro LKFT project[1], we noticed there is about 5 seconds boottime improvement for the 5.15 kernel Android builds. And after some investigation, we found it's these changes made the improvement. And I'd like to share one of the test results here for your information: ====>>> data started here Linux 5.15: 5.15-gki-android13-aosp-master-rb5-boottime boottime: Index Build Number boottime-fresh-install#KERNEL_BOOT_TIME_avg boottime-fresh-install#ANDROID_BOOT_TIME_avg boottime-fresh-install#TOTAL_BOOT_TIME_avg boottime-reboot#KERNEL_BOOT_TIME_avg boottime-reboot#ANDROID_BOOT_TIME_avg boottime-reboot#TOTAL_BOOT_TIME_avg 1 5.15.41-aec224bb9ebc 1.6 37.19 38.79 1.61 30.14 31.75 2 5.15.41-c2162eca3f66 1.62 36.92 38.53 1.62 30.04 31.66 3 5.15.41-e796ee569574 1.62 37.27 38.89 1.62 30.01 31.62 4 5.15.41-432cf292eb20 1.62 41.64 43.26 1.61 35.16 36.76 5 5.15.41-a3829998513a 1.62 42.2 43.82 1.61 35.4 37.01 <<<==== data ended here # the improvements started from build#5.15.41-e796ee569574 since these changes were submitted to the ACK[3] # the unit of the data is seconds # boottime-fresh items are data for the first time boot after deployment # boottime-reboot items are the average data for the 2nd ~ 7th data with the minimum and maximum excluded. # for the meaning of KERNEL_BOOT_TIME/ANDROID_BOOT_TIME/TOTAL_BOOT_TIME please see the description here[2] [1]: https://source.android.com/docs/core/architecture/kernel/android-common?hl=en#linaro-kernel-functional-testing [2]: https://github.com/Linaro/test-definitions/blob/master/automated/android/boottime/device-script.sh [3]: https://android-review.googlesource.com/q/I08dcb29ef97453b836efd0d64286196600be8cce Thanks, Yongqin Liu On Tue, 12 Jul 2022 at 03:20, Sami Tolvanen <samitolvanen@google.com> wrote: > > On Mon, Jul 04, 2022 at 09:40:44AM +0800, Haibo Li wrote: > > This patchset changes synchronize_rcu to call_rcu in update_shadow. > > > > Patch 1 enables the CFI sanitization for cfi.c and > > bypass __cfi_slowpath_diag. > > It is the prerequisite for using call_rcu in cfi.c. > > > > Patch 2 changes synchronize_rcu to call_rcu and > > free old cfi shadow in rcu cb > > > > Changes in v2: > > - Remove _run_cfi_check,add __nocfi to __cfi_slowpath_diag directly > > - Rename _cfi_shadow_free_rcu to free_shadow > > > > Haibo Li (2): > > cfi: enable sanitize for cfi.c > > cfi: free old cfi shadow asynchronously > > > > kernel/Makefile | 3 --- > > kernel/cfi.c | 14 +++++++++++--- > > 2 files changed, 11 insertions(+), 6 deletions(-) > > Thanks for sending v2! For the series: > > Reviewed-by: Sami Tolvanen <samitolvanen@google.com> > > Sami