summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 00:57:26 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 00:57:26 +0000
commit04d270f00d3eb0cbb85c509617cdd166c338666c (patch)
treeb4381443c9f19a7d07c31e86466e37326677d7ed
parent62c3d164b143e725a10884c3808b397ea80b7c3b (diff)
parent578411ecb320f350c095eae85d52db28b2bd20f0 (diff)
downloadsunfish-aml_tet_341112070.tar.gz
Snap for 10447354 from 578411ecb320f350c095eae85d52db28b2bd20f0 to mainline-tethering-releaseaml_tet_341112070aml_tet_341010040aml_tet_340913030
Change-Id: I7a114258859539b5264764b77697aaa84b950f2d
-rw-r--r--BoardConfig-common.mk11
-rw-r--r--default-permissions.xml7
-rw-r--r--device-common.mk3
-rw-r--r--device-sunfish.mk4
-rw-r--r--device.mk12
-rw-r--r--device_framework_matrix_product.xml9
-rwxr-xr-xdumpstate/DumpstateDevice.cpp1
-rw-r--r--init.hardware.rc11
-rw-r--r--manifest.xml61
-rw-r--r--nfc/libnfc-hal-st.conf4
-rw-r--r--overlay/packages/apps/Settings/res/raw/face_enroll_introduction_animation.mp4bin967535 -> 0 bytes
-rw-r--r--overlay/packages/services/apps/Settings/res/raw/face_enroll_introduction_animation.mp4bin967535 -> 0 bytes
-rw-r--r--pixelstats/service.cpp1
-rw-r--r--rro_overlays/WifiOverlay/res/values/config.xml1
-rw-r--r--sunfish/BoardConfig.mk7
-rw-r--r--sunfish/init.sunfish.rc1
-rwxr-xr-xsunfish/overlay/frameworks/base/core/res/res/values/config.xml14
-rw-r--r--task_profiles.json128
18 files changed, 180 insertions, 95 deletions
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 174cfa6b..4ed613a8 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -37,6 +37,8 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
BUILD_BROKEN_DUP_RULES := true
BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
+# GOOGLE: workaround for https://android-review.googlesource.com/c/platform/system/sepolicy/+/1532995
+BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE := true
TARGET_BOARD_COMMON_PATH := device/google/sunfish/sm7150
@@ -48,8 +50,10 @@ BOARD_KERNEL_CMDLINE += androidboot.memcg=1 cgroup.memory=nokmem
BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 #STOPSHIP
BOARD_KERNEL_CMDLINE += usbcore.autosuspend=7
BOARD_KERNEL_CMDLINE += loop.max_part=7
+BOARD_KERNEL_CMDLINE += loop.hw_queue_depth=31
BOARD_KERNEL_CMDLINE += androidboot.usbcontroller=a600000.dwc3 swiotlb=1
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
+BOARD_KERNEL_CMDLINE += cgroup_disable=pressure
#BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 service_locator.enable=1 earlycon=msm_geni_serial,0x880000
@@ -251,13 +255,6 @@ BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4873781248
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
BOARD_SUPER_PARTITION_ERROR_LIMIT := 9231663104
-# Note as of b/216531063, our sunfish_tuscany builds are
-# exceeding the super partition limit, causing all builds
-# to fail. Here we increase it by 600 MB to keep building.
-ifeq (,$(filter-out sunfish_tuscany, $(TARGET_PRODUCT)))
-BOARD_SUPER_PARTITION_ERROR_LIMIT := 9831663104
-endif
-
# DTB
ifeq (,$(filter-out sunfish_kasan, $(TARGET_PRODUCT)))
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/kasan
diff --git a/default-permissions.xml b/default-permissions.xml
index 1e50e5f1..093bd065 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -60,8 +60,6 @@
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
<!-- Used to set up a Wi-Fi P2P network -->
- <!-- TODO(b/231966826): Remove the location permission after Restore targets to T. -->
- <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
<permission name="android.permission.NEARBY_WIFI_DEVICES" fixed="false"/>
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
@@ -148,4 +146,9 @@
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
</exception>
+ <exception
+ package="com.google.android.euicc">
+ <!-- Notifications -->
+ <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+ </exception>
</exceptions>
diff --git a/device-common.mk b/device-common.mk
index f8d1074e..be064c90 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -78,6 +78,9 @@ PRODUCT_PRODUCT_PROPERTIES += \
PRODUCT_COPY_FILES += \
device/google/sunfish/init.logging.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).logging.rc
+PRODUCT_COPY_FILES += \
+ device/google/sunfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
+
# Pixelstats broken mic detection
PRODUCT_PROPERTY_OVERRIDES += vendor.audio.mic_break=true
diff --git a/device-sunfish.mk b/device-sunfish.mk
index 0d4f43ff..100a3fab 100644
--- a/device-sunfish.mk
+++ b/device-sunfish.mk
@@ -131,3 +131,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
PRODUCT_PACKAGES += \
NoCutoutOverlay \
AvoidAppsInCutoutOverlay
+
+# Workaround for prebuilt Qualcomm neural network HAL
+PRODUCT_PACKAGES += \
+ libprotobuf-cpp-full-3.9.1-vendorcompat
diff --git a/device.mk b/device.mk
index de88d796..64d93e82 100644
--- a/device.mk
+++ b/device.mk
@@ -29,6 +29,8 @@ PRODUCT_SOONG_NAMESPACES += \
hardware/qcom/sm8150/display \
hardware/qcom/sm8150/data/ipacfg-mgr \
hardware/qcom/sm8150/gps \
+ hardware/qcom/wlan/legacy \
+ system/chre/host/hal_generic \
vendor/google/camera \
vendor/qcom/sm8150 \
vendor/qcom/sm8150/proprietary/commonsys/telephony-apps/DataStatusNotification \
@@ -200,7 +202,6 @@ PRODUCT_PACKAGES += \
update_engine_sideload
PRODUCT_PACKAGES_DEBUG += \
- sg_write_buffer \
f2fs_io \
check_f2fs
@@ -445,7 +446,7 @@ PRODUCT_PACKAGES += \
NfcNci \
Tag \
SecureElement \
- android.hardware.nfc@1.2-service.st \
+ android.hardware.nfc-service.st \
android.hardware.secure_element@1.0-service.st
PRODUCT_COPY_FILES += \
@@ -603,7 +604,7 @@ endif
# Wifi
PRODUCT_PACKAGES += \
- android.hardware.wifi@1.0-service \
+ android.hardware.wifi-service \
wificond \
libwpa_client \
WifiOverlay
@@ -886,7 +887,7 @@ PRODUCT_PACKAGES += $(HIDL_WRAPPER)
# Increment the SVN for any official public releases
PRODUCT_PROPERTY_OVERRIDES += \
- ro.vendor.build.svn=51
+ ro.vendor.build.svn=64
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
@@ -912,9 +913,6 @@ include hardware/google/pixel/common/pixel-common-device.mk
# Citadel
include hardware/google/pixel/citadel/citadel.mk
-# Factory OTA
--include vendor/google/factoryota/client/factoryota.mk
-
-include vendor/qcom/sm8150/proprietary/securemsm/config/cpz_vendor_proprietary_board.mk
-include vendor/qcom/sm8150/proprietary/securemsm/config/cpz_vendor_proprietary_product.mk
-include vendor/qcom/sm8150/proprietary/securemsm/config/smcinvoke_vendor_proprietary_product.mk
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
index b7925458..5f88be82 100644
--- a/device_framework_matrix_product.xml
+++ b/device_framework_matrix_product.xml
@@ -71,9 +71,9 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="aidl" optional="true">
<name>vendor.google.google_battery</name>
- <version>1.2</version>
+ <version>2</version>
<interface>
<name>IGoogleBattery</name>
<instance>default</instance>
@@ -241,10 +241,9 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="aidl" optional="true">
<name>vendor.google.wifi_ext</name>
- <transport>hwbinder</transport>
- <version>1.3</version>
+ <version>1</version>
<interface>
<name>IWifiExt</name>
<instance>default</instance>
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index 18636a2e..82cc37be 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -530,6 +530,7 @@ static void DumpSensorLog(int fd) {
static void DumpF2FS(int fd) {
DumpFileToFd(fd, "F2FS", "/sys/kernel/debug/f2fs/status");
+ DumpFileToFd(fd, "F2FS", "/dev/fscklogs/fsck");
RunCommandToFd(fd, "F2FS - fsck time (ms)", {"/vendor/bin/sh", "-c", "getprop ro.boottime.init.fsck.data"});
RunCommandToFd(fd, "F2FS - checkpoint=disable time (ms)", {"/vendor/bin/sh", "-c", "getprop ro.boottime.init.mount.data"});
}
diff --git a/init.hardware.rc b/init.hardware.rc
index 9ff78fb5..546612e4 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -443,6 +443,10 @@ on property:init.svc.vendor.charger=running
on property:sys.boot_completed=1
setprop vendor.setup.power 1
+ # Permission for Pixelstats
+ chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
+ chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
+
# Back to default VM settings
write /proc/sys/vm/dirty_expire_centisecs 3000
write /proc/sys/vm/dirty_background_ratio 10
@@ -458,13 +462,6 @@ on property:sys.boot_completed=1
write /dev/cpuset/system-background/cpus 2-5
write /dev/cpuset/restricted/cpus 2-5
- # Setup runtime blkio
- # value for group_idle is us
- write /dev/blkio/blkio.weight 1000
- write /dev/blkio/background/blkio.weight 200
- write /dev/blkio/blkio.group_idle 2000
- write /dev/blkio/background/blkio.group_idle 0
-
# UFS health
chmod 755 /sys/kernel/debug/ufshcd0
chmod 644 /sys/kernel/debug/ufshcd0/show_hba
diff --git a/manifest.xml b/manifest.xml
index 1175a2a8..4f316698 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -45,15 +45,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</interface>
</hal>
<hal format="hidl">
- <name>android.hardware.authsecret</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IAuthSecret</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>vendor.qti.hardware.cacert</name>
<transport>hwbinder</transport>
<version>1.0</version>
@@ -212,15 +203,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</interface>
</hal>
<hal format="hidl">
- <name>vendor.google.google_battery</name>
- <transport>hwbinder</transport>
- <version>1.2</version>
- <interface>
- <name>IGoogleBattery</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>vendor.google.radioext</name>
<transport>hwbinder</transport>
<version>1.3</version>
@@ -266,13 +248,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
- <name>android.hardware.gnss</name>
- <transport>hwbinder</transport>
- <fqname>@1.1::IGnss/default</fqname>
- <fqname>@2.0::IGnss/default</fqname>
- <fqname>@2.1::IGnss/default</fqname>
- </hal>
<!-- qcrilhook -->
<hal format="hidl">
<name>vendor.qti.hardware.radio.qcrilhook</name>
@@ -442,29 +417,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
- <name>android.hardware.nfc</name>
- <transport>hwbinder</transport>
- <version>1.2</version>
- <interface>
- <name>INfc</name>
- <instance>default</instance>
- </interface>
- </hal>
- <!-- Neural Network HAL -->
- <hal format="hidl">
- <name>android.hardware.neuralnetworks</name>
- <transport>hwbinder</transport>
- <fqname>@1.3::IDevice/qti-default</fqname>
- <fqname>@1.3::IDevice/qti-dsp</fqname>
- <fqname>@1.3::IDevice/qti-gpu</fqname>
- </hal>
<!-- keymaster -->
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<fqname>@4.0::IKeymasterDevice/default</fqname>
- <fqname>@4.1::IKeymasterDevice/strongbox</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.power.stats</name>
@@ -495,15 +452,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</interface>
</hal>
<hal format="hidl">
- <name>android.hardware.weaver</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IWeaver</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>android.hardware.dumpstate</name>
<transport>hwbinder</transport>
<version>1.1</version>
@@ -539,15 +487,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
- <name>android.hardware.oemlock</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IOemLock</name>
- <instance>default</instance>
- </interface>
- </hal>
<!-- QSEECom HAL service -->
<hal format="hidl">
<name>vendor.qti.hardware.qseecom</name>
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
index 97fe8b58..dc1ed58f 100644
--- a/nfc/libnfc-hal-st.conf
+++ b/nfc/libnfc-hal-st.conf
@@ -60,8 +60,8 @@ PRESENCE_CHECK_ALGORITHM=5
NCI_HAL_MODULE="nfc_nci.st21nfc"
###############################################################################
-# White list to be set at startup.
-DEVICE_HOST_WHITE_LIST={02:C0}
+# Allow list to be set at startup.
+DEVICE_HOST_ALLOW_LIST={02:C0}
###############################################################################
# BAIL OUT value for P2P
diff --git a/overlay/packages/apps/Settings/res/raw/face_enroll_introduction_animation.mp4 b/overlay/packages/apps/Settings/res/raw/face_enroll_introduction_animation.mp4
deleted file mode 100644
index 03aea2f9..00000000
--- a/overlay/packages/apps/Settings/res/raw/face_enroll_introduction_animation.mp4
+++ /dev/null
Binary files differ
diff --git a/overlay/packages/services/apps/Settings/res/raw/face_enroll_introduction_animation.mp4 b/overlay/packages/services/apps/Settings/res/raw/face_enroll_introduction_animation.mp4
deleted file mode 100644
index 03aea2f9..00000000
--- a/overlay/packages/services/apps/Settings/res/raw/face_enroll_introduction_animation.mp4
+++ /dev/null
Binary files differ
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index 23477f46..d78da5ba 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -28,6 +28,7 @@ using android::hardware::google::pixel::DropDetect;
using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener;
+#define BLOCK_STATS_LENGTH 11
#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 0d3ce019..a28fe3d1 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -52,6 +52,7 @@
<!-- True if the firmware supports connected MAC randomization -->
<bool name="config_wifi_connected_mac_randomization_supported">true</bool>
+ <bool name="config_wifiAllowNonPersistentMacRandomizationOnOpenSsids">true</bool>
<!-- True if the firmware supports p2p MAC randomization -->
<bool name="config_wifi_p2p_mac_randomization_supported">true</bool>
diff --git a/sunfish/BoardConfig.mk b/sunfish/BoardConfig.mk
index 7a10b564..2c28592c 100644
--- a/sunfish/BoardConfig.mk
+++ b/sunfish/BoardConfig.mk
@@ -14,8 +14,11 @@
# limitations under the License.
#
-ifdef PHONE_CAR_BOARD_PRODUCT
- include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
+ifdef AUTOMOTIVE_PRODUCT_PATH
+ #RBC# include_top device/google/auto_tcu
+ #RBC# include_top device/google/pixel_tcu
+ #RBC# include_top device/google_car
+ include device/$(AUTOMOTIVE_PRODUCT_PATH)/BoardConfig.mk
else
TARGET_BOOTLOADER_BOARD_NAME := sunfish
TARGET_SCREEN_DENSITY := 440
diff --git a/sunfish/init.sunfish.rc b/sunfish/init.sunfish.rc
index 7d1f34f9..4591a826 100644
--- a/sunfish/init.sunfish.rc
+++ b/sunfish/init.sunfish.rc
@@ -37,3 +37,4 @@ on property:debug.touch_sensitivity_mode=1
service vendor.mdm_helper /vendor/bin/mdm_helper
class core
group system wakelock
+ user root
diff --git a/sunfish/overlay/frameworks/base/core/res/res/values/config.xml b/sunfish/overlay/frameworks/base/core/res/res/values/config.xml
index 91e0e8d0..51b9234f 100755
--- a/sunfish/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/sunfish/overlay/frameworks/base/core/res/res/values/config.xml
@@ -210,6 +210,16 @@
<dimen name="status_bar_height_portrait">136px</dimen>
<dimen name="status_bar_height_landscape">28dp</dimen>
- <!-- the number of the max cached processes in the system. -->
- <integer name="config_customizedMaxCachedProcesses">64</integer>
+ <!-- A string config in svg path format for the main display shape.
+ (@see https://www.w3.org/TR/SVG/paths.html#PathData).
+
+ This config must be set unless:
+ 1. {@link Configuration#isScreenRound} is true which means the display shape is circular
+ and the system will auto-generate a circular shape.
+ 2. The display has no rounded corner and the system will auto-generate a rectangular shape.
+ (@see DisplayShape#createDefaultDisplayShape)
+
+ Note: If the display supports multiple resolutions, please define the path config based on
+ the highest resolution so that it can be scaled correctly in each resolution. -->
+ <string name="config_mainDisplayShape">M 0 0 L 224 0.171875 C 214.87485 0.171875 205.74976 0.16477528 196.62109 0.18945312 C 189.0215 0.2070801 181.42224 0.25056649 173.82617 0.328125 C 164.83138 0.41978502 155.83659 0.56348655 146.8418 0.77148438 C 144.82299 0.81731448 142.80395 0.8709473 140.78516 0.92382812 C 139.80218 0.94850578 138.81893 0.97570316 137.83594 1.0039062 C 136.86706 1.0321092 135.90248 1.0616408 134.93359 1.0898438 C 131.16375 1.202656 127.39719 1.3281156 123.63086 1.4726562 C 119.53686 1.6312987 115.43811 1.8075786 111.34766 2.0332031 C 109.29714 2.1460156 107.24777 2.2710938 105.19727 2.4121094 C 103.13266 2.5531248 101.06656 2.7108304 99.001953 2.890625 C 94.812839 3.2572656 90.639442 3.7162799 86.478516 4.3261719 C 82.229507 4.94664 78.022294 5.7183509 73.84375 6.7089844 C 65.750903 8.6303203 57.952694 11.333489 50.546875 15.179688 C 46.794642 17.129227 43.229644 19.31967 39.808594 21.808594 C 36.366403 24.311617 33.167036 27.044007 30.158203 30.054688 C 27.149369 33.065366 24.423363 36.266634 21.921875 39.710938 C 19.434478 43.134087 17.2456 46.697016 15.300781 50.455078 C 11.456943 57.868967 8.7580479 65.667811 6.8378906 73.765625 C 5.8478646 77.950259 5.0771187 82.158541 4.4570312 86.410156 C 3.8510368 90.577163 3.3933759 94.755581 3.0234375 98.947266 C 2.8437531 101.01315 2.6838976 103.07865 2.5429688 105.14453 C 2.4020397 107.19631 2.2787588 109.24938 2.1660156 111.30469 C 1.9405294 115.40117 1.7659669 119.49958 1.6074219 123.59961 C 1.4629696 127.36827 1.3393057 131.13371 1.2265625 134.90234 C 1.1983765 135.87183 1.168811 136.83911 1.140625 137.80859 C 1.112439 138.79217 1.0887327 139.77384 1.0605469 140.75391 C 1.0076989 142.77393 0.95752827 144.7905 0.90820312 146.81055 C 0.70033289 155.80381 0.55644759 164.79775 0.46484375 173.79102 C 0.38733281 181.39528 0.34574112 188.99925 0.328125 196.60352 C 0.30698564 205.73427 0.31054688 214.86925 0.31054688 224 L 0 0 z M 0 0 L 0 2340 L 0.31054688 2116 C 0.31054687 2125.1308 0.30702504 2134.2658 0.328125 2143.3965 C 0.34574496 2151.0008 0.38734391 2158.6048 0.46484375 2166.209 C 0.55644357 2175.2022 0.70033354 2184.1942 0.90820312 2193.1875 C 0.95753304 2195.2076 1.0076469 2197.2241 1.0605469 2199.2441 C 1.0886467 2200.2242 1.112425 2201.2078 1.140625 2202.1914 C 1.168825 2203.1608 1.1983625 2204.1282 1.2265625 2205.0977 C 1.3393123 2208.8663 1.4629721 2212.6297 1.6074219 2216.3984 C 1.7659715 2220.4984 1.9405262 2224.5989 2.1660156 2228.6953 C 2.2787554 2230.7506 2.402039 2232.8038 2.5429688 2234.8555 C 2.6838984 2236.9214 2.8437579 2238.9868 3.0234375 2241.0527 C 3.3933767 2245.2444 3.8510326 2249.4209 4.4570312 2253.5879 C 5.07712 2257.8395 5.8478626 2262.0497 6.8378906 2266.2344 C 8.7580468 2274.3322 11.456949 2282.131 15.300781 2289.5449 C 17.245607 2293.3028 19.434479 2296.8659 21.921875 2300.2891 C 24.423369 2303.7334 27.149369 2306.9346 30.158203 2309.9453 C 33.167037 2312.956 36.3664 2315.6884 39.808594 2318.1914 C 43.229646 2320.6803 46.794643 2322.8689 50.546875 2324.8184 C 57.952691 2328.6646 65.750906 2331.3696 73.84375 2333.291 C 78.022302 2334.2816 82.229504 2335.0534 86.478516 2335.6738 C 90.639446 2336.2837 94.812841 2336.7427 99.001953 2337.1094 C 101.06656 2337.2892 103.13266 2337.4469 105.19727 2337.5879 C 107.24777 2337.729 109.29714 2337.8519 111.34766 2337.9648 C 115.43811 2338.1904 119.53686 2338.3667 123.63086 2338.5254 C 127.39719 2338.6699 131.16375 2338.7973 134.93359 2338.9102 C 135.90248 2338.9392 136.86706 2338.9661 137.83594 2338.9941 C 138.81893 2339.0221 139.80218 2339.0512 140.78516 2339.0762 C 142.80395 2339.1288 144.82299 2339.1825 146.8418 2339.2285 C 155.83659 2339.4364 164.83138 2339.5799 173.82617 2339.6719 C 181.42224 2339.7494 189.0215 2339.7906 196.62109 2339.8086 C 205.74976 2339.8366 214.87485 2339.8281 224 2339.8281 L 0 2340 L 1080 2340 L 856 2339.8281 C 865.12512 2339.8281 874.25027 2339.8366 883.37891 2339.8086 C 890.97847 2339.7906 898.57779 2339.7494 906.17383 2339.6719 C 915.16859 2339.5799 924.16345 2339.4364 933.1582 2339.2285 C 935.17701 2339.1825 937.19606 2339.1288 939.21484 2339.0762 C 940.19782 2339.0512 941.18108 2339.0221 942.16406 2338.9941 C 943.13294 2338.9661 944.09753 2338.9392 945.06641 2338.9102 C 948.83624 2338.7973 952.60282 2338.6699 956.36914 2338.5254 C 960.46313 2338.3667 964.5619 2338.1904 968.65234 2337.9648 C 970.70285 2337.8519 972.75223 2337.729 974.80273 2337.5879 C 976.86733 2337.4469 978.93151 2337.2892 980.99609 2337.1094 C 985.1852 2336.7427 989.36057 2336.2837 993.52148 2335.6738 C 997.77048 2335.0534 1001.9778 2334.2816 1006.1562 2333.291 C 1014.249 2331.3696 1022.0454 2328.6646 1029.4512 2324.8184 C 1033.2034 2322.8689 1036.7686 2320.6803 1040.1895 2318.1914 C 1043.6315 2315.6884 1046.831 2312.956 1049.8398 2309.9453 C 1052.8487 2306.9346 1055.5766 2303.7334 1058.0781 2300.2891 C 1060.5655 2296.8659 1062.7525 2293.3028 1064.6973 2289.5449 C 1068.5411 2282.131 1071.2401 2274.3322 1073.1602 2266.2344 C 1074.1502 2262.0497 1074.9229 2257.8395 1075.543 2253.5879 C 1076.149 2249.4209 1076.6066 2245.2444 1076.9766 2241.0527 C 1077.1563 2238.9868 1077.3142 2236.9214 1077.4551 2234.8555 C 1077.5961 2232.8038 1077.7193 2230.7506 1077.832 2228.6953 C 1078.0575 2224.5989 1078.2341 2220.4984 1078.3926 2216.3984 C 1078.5371 2212.6297 1078.6607 2208.8663 1078.7734 2205.0977 C 1078.8014 2204.1282 1078.8284 2203.1608 1078.8574 2202.1914 C 1078.8854 2201.2078 1078.9115 2200.2242 1078.9395 2199.2441 C 1078.9925 2197.2241 1079.0405 2195.2076 1079.0898 2193.1875 C 1079.2977 2184.1942 1079.4436 2175.2022 1079.5352 2166.209 C 1079.6122 2158.6048 1079.6542 2151.0008 1079.6719 2143.3965 C 1079.6929 2134.2658 1079.6895 2125.1308 1079.6895 2116 L 1080 2340 L 1080 0 L 1079.6914 224 C 1079.6914 214.86925 1079.6929 205.73427 1079.6719 196.60352 C 1079.6542 188.99925 1079.6122 181.39528 1079.5352 173.79102 C 1079.4436 164.79775 1079.2997 155.80381 1079.0918 146.81055 C 1079.0425 144.7905 1078.9925 142.77393 1078.9395 140.75391 C 1078.9115 139.77384 1078.8874 138.79217 1078.8594 137.80859 C 1078.8304 136.83911 1078.8014 135.87183 1078.7734 134.90234 C 1078.6607 131.13371 1078.5371 127.36827 1078.3926 123.59961 C 1078.2341 119.49958 1078.0595 115.40117 1077.834 111.30469 C 1077.7213 109.24938 1077.598 107.19631 1077.457 105.14453 C 1077.3161 103.07865 1077.1563 101.01315 1076.9766 98.947266 C 1076.6066 94.755584 1076.149 90.577158 1075.543 86.410156 C 1074.9229 82.158536 1074.1521 77.950257 1073.1621 73.765625 C 1071.242 65.667811 1068.5431 57.868964 1064.6992 50.455078 C 1062.7544 46.697016 1060.5655 43.13409 1058.0781 39.710938 C 1055.5766 36.266634 1052.8507 33.06536 1049.8418 30.054688 C 1046.833 27.044004 1043.6336 24.311618 1040.1914 21.808594 C 1036.7704 19.319668 1033.2053 17.129225 1029.4531 15.179688 C 1022.0473 11.333489 1014.2491 8.6303206 1006.1562 6.7089844 C 1001.9778 5.7183514 997.7705 4.9466407 993.52148 4.3261719 C 989.36056 3.7162801 985.18715 3.2572662 980.99805 2.890625 C 978.93344 2.7108304 976.86734 2.553125 974.80273 2.4121094 C 972.75223 2.2710936 970.70286 2.1460149 968.65234 2.0332031 C 964.56189 1.8075787 960.46314 1.631299 956.36914 1.4726562 C 952.60281 1.3281156 948.83625 1.2026564 945.06641 1.0898438 C 944.09752 1.0616438 943.13294 1.0321062 942.16406 1.0039062 C 941.18107 0.97570636 940.19782 0.94850808 939.21484 0.92382812 C 937.19605 0.87094624 935.17701 0.81731428 933.1582 0.77148438 C 924.16341 0.56348678 915.16862 0.41978482 906.17383 0.328125 C 898.57776 0.25056416 890.9785 0.2070831 883.37891 0.18945312 C 874.25024 0.16472318 865.12515 0.171875 856 0.171875 L 1080 0 L 0 0 z</string>
</resources>
diff --git a/task_profiles.json b/task_profiles.json
new file mode 100644
index 00000000..048994c4
--- /dev/null
+++ b/task_profiles.json
@@ -0,0 +1,128 @@
+{
+ "Profiles": [
+ {
+ "Name": "LowIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": "background"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqGroupIdle",
+ "Value": "0",
+ "Optional": "true"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqWeight",
+ "Value": "200",
+ "Optional": "true"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "NormalIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqGroupIdle",
+ "Value": "2000",
+ "Optional": "true"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqWeight",
+ "Value": "1000",
+ "Optional": "true"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqGroupIdle",
+ "Value": "2000",
+ "Optional": "true"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqWeight",
+ "Value": "1000",
+ "Optional": "true"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "MaxIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqGroupIdle",
+ "Value": "2000",
+ "Optional": "true"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "CfqWeight",
+ "Value": "1000",
+ "Optional": "true"
+ }
+ }
+ ]
+ }
+ ]
+}