1
0
mirror of https://github.com/pumpitupdev/pumptools.git synced 2024-11-30 17:24:30 +01:00

patch/pro 1 and 2: Delay polls to ctrl endpoint for 1 ms each

Fixes high CPU load issues with IO threads
This commit is contained in:
icex2 2021-04-12 22:04:51 +02:00
parent 24d5cfc647
commit 614f8ff2db
2 changed files with 12 additions and 4 deletions

View File

@ -183,7 +183,9 @@ static void prohook_patch_piuio_init(struct prohook_options *options)
if (options->patch.piuio.api_lib) { if (options->patch.piuio.api_lib) {
char *abs_path_iolib = util_fs_get_abs_path(options->patch.piuio.api_lib); char *abs_path_iolib = util_fs_get_abs_path(options->patch.piuio.api_lib);
patch_piuio_init(abs_path_iolib); // piuio thread is relying on hardware load. If this doesn't really exist,
// e.g. device software emulation, the thread will consume A LOT of CPU
patch_piuio_init(abs_path_iolib, 1);
free(abs_path_iolib); free(abs_path_iolib);
} }
} }
@ -193,7 +195,9 @@ static void prohook_patch_piubtn_init(struct prohook_options *options)
if (options->patch.piubtn.api_lib) { if (options->patch.piubtn.api_lib) {
char *abs_path_btnlib = util_fs_get_abs_path(options->patch.piubtn.api_lib); char *abs_path_btnlib = util_fs_get_abs_path(options->patch.piubtn.api_lib);
patch_piubtn_init(abs_path_btnlib); // piubtn thread is relying on hardware load. If this doesn't really exist,
// e.g. device software emulation, the thread will consume A LOT of CPU
patch_piubtn_init(abs_path_btnlib, 1);
free(abs_path_btnlib); free(abs_path_btnlib);
} }
} }

View File

@ -191,7 +191,9 @@ static void pro2hook_patch_piuio_init(struct pro2hook_options *options)
if (options->patch.piuio.api_lib) { if (options->patch.piuio.api_lib) {
char *abs_path_iolib = util_fs_get_abs_path(options->patch.piuio.api_lib); char *abs_path_iolib = util_fs_get_abs_path(options->patch.piuio.api_lib);
patch_piuio_init(abs_path_iolib); // piuio thread is relying on hardware load. If this doesn't really exist,
// e.g. device software emulation, the thread will consume A LOT of CPU
patch_piuio_init(abs_path_iolib, 1);
free(abs_path_iolib); free(abs_path_iolib);
} }
} }
@ -201,7 +203,9 @@ static void pro2hook_patch_piubtn_init(struct pro2hook_options *options)
if (options->patch.piubtn.api_lib) { if (options->patch.piubtn.api_lib) {
char *abs_path_btnlib = util_fs_get_abs_path(options->patch.piubtn.api_lib); char *abs_path_btnlib = util_fs_get_abs_path(options->patch.piubtn.api_lib);
patch_piubtn_init(abs_path_btnlib); // piubtn thread is relying on hardware load. If this doesn't really exist,
// e.g. device software emulation, the thread will consume A LOT of CPU
patch_piubtn_init(abs_path_btnlib, 1);
free(abs_path_btnlib); free(abs_path_btnlib);
} }
} }