lkml.org 
[lkml]   [2008]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/3] hrtimer: make the nanosleep() syscall use the per process slack

    From: Arjan van de Ven <arjan@linux.intel.com>
    Subject: [PATCH] hrtimer: make the nanosleep() syscall use the per process slack

    This patch makes the nanosleep() system call use the per process
    slack value; with this users are able to externally control existing
    applications to reduce the wakeup rate.

    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    ---
    kernel/hrtimer.c | 7 ++++++-
    1 files changed, 6 insertions(+), 1 deletions(-)

    diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
    index a022209..9a4c901 100644
    --- a/kernel/hrtimer.c
    +++ b/kernel/hrtimer.c
    @@ -1563,9 +1563,14 @@ long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp,
    struct restart_block *restart;
    struct hrtimer_sleeper t;
    int ret = 0;
    + unsigned long slack;
    +
    + slack = current->timer_slack_ns;
    + if (rt_task(current))
    + slack = 0;

    hrtimer_init_on_stack(&t.timer, clockid, mode);
    - hrtimer_set_expires(&t.timer, timespec_to_ktime(*rqtp));
    + hrtimer_set_expires_range_ns(&t.timer, timespec_to_ktime(*rqtp), slack);
    if (do_nanosleep(&t, mode))
    goto out;

    --
    1.5.5.1


    --
    Arjan van de Ven Intel Open Source Technology Centre
    For development, discussion and tips for power savings,
    visit http://www.lesswatts.org


    \
     
     \ /
      Last update: 2008-09-11 05:33    [W:0.020 / U:2.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site