Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df4a5c1b authored by Peter Collingbourne's avatar Peter Collingbourne
Browse files

Allow the kernel to upgrade ASYNC mode processes to SYNC mode.

On devices where the performance of ASYNC mode is similar to SYNC
mode on certain CPUs, OEMs may choose to configure the kernel to
prefer SYNC mode on those CPUs by writing the value "sync" to the
sysfs node: /sys/devices/system/cpu/cpu<N>/mte_tcf_preferred

The kernel will only respect the per-CPU preference if the user program
allows this by specifying the preferred mode as a member of a set of
allowed modes. Since only kernels with r.android.com/1754670 support
specifying multiple modes, fall back to trying to specify a single
mode if that doesn't work.

Bug: 189966263
Change-Id: Ie7ada3b073178b7967f0819cbdadc2d8e3a2c648
Merged-In: Ie7ada3b073178b7967f0819cbdadc2d8e3a2c648
parent f010ed63
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2558,6 +2558,7 @@ static jint com_android_internal_os_Zygote_nativeCurrentTaggingLevel(JNIEnv* env
    case PR_MTE_TCF_SYNC:
      return MEMORY_TAG_LEVEL_SYNC;
    case PR_MTE_TCF_ASYNC:
    case PR_MTE_TCF_ASYNC | PR_MTE_TCF_SYNC:
      return MEMORY_TAG_LEVEL_ASYNC;
    default:
      ALOGE("Unknown memory tagging level: %i", level);