diff options
author | Elliott Hughes <enh@google.com> | 2015-08-14 15:35:33 -0700 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-11-14 19:54:43 +0100 |
commit | 78b569a395407d13b8d571d7c73d6a46d4a99492 (patch) | |
tree | f716c68f7ade54b6d16ae3a3b17aebb1ca99f373 /toolbox | |
parent | d855dc1312ebb2e7b27b0a647b4f1eb59a4fdd22 (diff) | |
download | system_core-78b569a395407d13b8d571d7c73d6a46d4a99492.zip system_core-78b569a395407d13b8d571d7c73d6a46d4a99492.tar.gz system_core-78b569a395407d13b8d571d7c73d6a46d4a99492.tar.bz2 |
Lose ionice and renice to toybox.
Change-Id: I77264e70aeff5a2320ce178c8e7176b67b898bd9
Diffstat (limited to 'toolbox')
-rw-r--r-- | toolbox/Android.mk | 2 | ||||
-rw-r--r-- | toolbox/ionice.c | 58 | ||||
-rw-r--r-- | toolbox/renice.c | 161 |
3 files changed, 0 insertions, 221 deletions
diff --git a/toolbox/Android.mk b/toolbox/Android.mk index a1df62a..255d348 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -43,7 +43,6 @@ OUR_TOOLS := \ getevent \ iftop \ ioctl \ - ionice \ log \ ls \ lsof \ @@ -51,7 +50,6 @@ OUR_TOOLS := \ newfs_msdos \ ps \ prlimit \ - renice \ restart \ sendevent \ start \ diff --git a/toolbox/ionice.c b/toolbox/ionice.c deleted file mode 100644 index 7abc261..0000000 --- a/toolbox/ionice.c +++ /dev/null @@ -1,58 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> - -#include <cutils/iosched_policy.h> - -static char *classes[] = {"none", "rt", "be", "idle", NULL}; - -int ionice_main(int argc, char *argv[]) -{ - IoSchedClass clazz = IoSchedClass_NONE; - int ioprio = 0; - int pid; - - if(argc != 2 && argc != 4) { - fprintf(stderr, "usage: ionice <pid> [none|rt|be|idle] [prio]\n"); - return 1; - } - - if (!(pid = atoi(argv[1]))) { - fprintf(stderr, "Invalid pid specified\n"); - return 1; - } - - if (argc == 2) { - if (android_get_ioprio(pid, &clazz, &ioprio)) { - fprintf(stderr, "Failed to read priority (%s)\n", strerror(errno)); - return 1; - } - fprintf(stdout, "Pid %d, class %s (%d), prio %d\n", pid, classes[clazz], clazz, ioprio); - return 0; - } - - if (!strcmp(argv[2], "none")) { - clazz = IoSchedClass_NONE; - } else if (!strcmp(argv[2], "rt")) { - clazz = IoSchedClass_RT; - } else if (!strcmp(argv[2], "be")) { - clazz = IoSchedClass_BE; - } else if (!strcmp(argv[2], "idle")) { - clazz = IoSchedClass_IDLE; - } else { - fprintf(stderr, "Unsupported class '%s'\n", argv[2]); - return 1; - } - - ioprio = atoi(argv[3]); - - printf("Setting pid %d i/o class to %d, prio %d\n", pid, clazz, ioprio); - if (android_set_ioprio(pid, clazz, ioprio)) { - fprintf(stderr, "Failed to set priority (%s)\n", strerror(errno)); - return 1; - } - - return 0; -} diff --git a/toolbox/renice.c b/toolbox/renice.c deleted file mode 100644 index 99a06f4..0000000 --- a/toolbox/renice.c +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright (c) 2008, The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google, Inc. nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <stdio.h> -#include <unistd.h> -#include <stdlib.h> -#include <string.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <sched.h> -#include <getopt.h> - -static void -usage(const char *s) -{ - fprintf(stderr, "USAGE: %s [[-r] [-t TYPE] priority pids ...] [-g pid]\n", s); - exit(EXIT_FAILURE); -} - -void print_prio(pid_t pid) -{ - int sched; - struct sched_param sp; - - printf("pid %d's priority: %d\n", pid, getpriority(PRIO_PROCESS, pid)); - - printf("scheduling class: "); - sched = sched_getscheduler(pid); - switch (sched) { - case SCHED_FIFO: - printf("FIFO\n"); - break; - case SCHED_RR: - printf("RR\n"); - break; - case SCHED_OTHER: - printf("Normal\n"); - break; - case -1: - perror("sched_getscheduler"); - break; - default: - printf("Unknown\n"); - } - - sched_getparam(pid, &sp); - printf("RT prio: %d (of %d to %d)\n", sp.sched_priority, - sched_get_priority_min(sched), sched_get_priority_max(sched)); -} - -int get_sched(char *str) -{ - if (strcasecmp(str, "RR") == 0) - return SCHED_RR; - else if (strcasecmp(str, "FIFO") == 0) - return SCHED_FIFO; - else if (strcasecmp(str, "NORMAL") == 0) - return SCHED_OTHER; - else if (strcasecmp(str, "OTHER") == 0) - return SCHED_OTHER; - return SCHED_RR; -} - -int renice_main(int argc, char *argv[]) -{ - int prio; - int realtime = 0; - int opt; - int sched = SCHED_RR; - char *cmd = argv[0]; - - do { - opt = getopt(argc, argv, "rt:g:"); - if (opt == -1) - break; - switch (opt) { - case 'r': - // do realtime priority adjustment - realtime = 1; - break; - case 't': - sched = get_sched(optarg); - break; - case 'g': - print_prio(atoi(optarg)); - return 0; - default: - usage(cmd); - } - } while (1); - - argc -= optind; - argv += optind; - - if (argc < 1) - usage(cmd); - - prio = atoi(argv[0]); - argc--; - argv++; - - if (argc < 1) - usage(cmd); - - while(argc) { - pid_t pid; - - pid = atoi(argv[0]); - argc--; - argv++; - - if (realtime) { - struct sched_param sp = { .sched_priority = prio }; - int ret; - - ret = sched_setscheduler(pid, sched, &sp); - if (ret) { - perror("sched_set_scheduler"); - exit(EXIT_FAILURE); - } - } else { - int ret; - - ret = setpriority(PRIO_PROCESS, pid, prio); - if (ret) { - perror("setpriority"); - exit(EXIT_FAILURE); - } - } - } - - return 0; -} |