lkml.org 
[lkml]   [2003]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] cfq + io priorities
    On Sat, Nov 08 2003, Jens Axboe wrote:
    > I'm attaching the simple ionice tool. It's used as follows:

    Here's one that works, sorry about that. To compile:

    # gcc -Wall -D__X86 -o ionice ionice.c

    or other define for PPC or X86_64.

    --
    Jens Axboe

    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <getopt.h>
    #include <unistd.h>
    #include <sys/ptrace.h>
    #include <asm/unistd.h>

    extern int sys_ioprio_set(int);
    extern int sys_ioprio_get(void);

    #ifdef __X86
    #define __NR_ioprio_set 274
    #define __NR_ioprio_get 275
    #endif

    #ifdef __X86_64
    #define __NR_ioprio_set 237
    #define __NR_ioprio_get 238
    #endif

    #ifdef __PPC
    #define __NR_ioprio_set 255
    #define __NR_ioprio_get 256
    #endif

    #ifndef __NR_ioprio_set
    #error set arch
    #endif

    _syscall1(int, ioprio_set, int, ioprio);
    _syscall0(int, ioprio_get);

    int main(int argc, char *argv[])
    {
    int ioprio = 2, set = 0;
    int c;

    while ((c = getopt(argc, argv, "+n:")) != EOF) {
    switch (c) {
    case 'n':
    ioprio = strtol(optarg, NULL, 10);
    set = 1;
    break;
    }
    }

    if (!set)
    printf("%d\n", ioprio_get());
    else if (argv[optind]) {
    if (ioprio_set(ioprio) == -1) {
    perror("ioprio_set");
    return 1;
    }

    execvp(argv[optind], &argv[optind]);
    }
    return 0;
    }
    \
     
     \ /
      Last update: 2005-03-22 13:58    [W:0.023 / U:30.816 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site