lkml.org 
[lkml]   [2010]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH R2 4/7] xen/balloon: migration from mod_timer() to schedule_delayed_work()
    migration from mod_timer() to schedule_delayed_work().

    Signed-off-by: Daniel Kiper <dkiper@net-space.pl>
    ---
    drivers/xen/balloon.c | 16 +++-------------
    1 files changed, 3 insertions(+), 13 deletions(-)

    diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
    index 878f54c..11143af 100644
    --- a/drivers/xen/balloon.c
    +++ b/drivers/xen/balloon.c
    @@ -98,8 +98,7 @@ static LIST_HEAD(ballooned_pages);

    /* Main work function, always executed in process context. */
    static void balloon_process(struct work_struct *work);
    -static DECLARE_WORK(balloon_worker, balloon_process);
    -static struct timer_list balloon_timer;
    +static DECLARE_DELAYED_WORK(balloon_worker, balloon_process);

    /* When ballooning out (allocating memory to return to Xen) we don't really
    want the kernel to try too hard since that can trigger the oom killer. */
    @@ -167,11 +166,6 @@ static struct page *balloon_next_page(struct page *page)
    return list_entry(next, struct page, lru);
    }

    -static void balloon_alarm(unsigned long unused)
    -{
    - schedule_work(&balloon_worker);
    -}
    -
    static unsigned long current_target(void)
    {
    unsigned long target = balloon_stats.target_pages;
    @@ -336,7 +330,7 @@ static void balloon_process(struct work_struct *work)

    /* Schedule more work if there is some still to be done. */
    if (current_target() != balloon_stats.current_pages)
    - mod_timer(&balloon_timer, jiffies + HZ);
    + schedule_delayed_work(&balloon_worker, HZ);

    mutex_unlock(&balloon_mutex);
    }
    @@ -346,7 +340,7 @@ static void balloon_set_new_target(unsigned long target)
    {
    /* No need for lock. Not read-modify-write updates. */
    balloon_stats.target_pages = target;
    - schedule_work(&balloon_worker);
    + schedule_delayed_work(&balloon_worker, 0);
    }

    static struct xenbus_watch target_watch =
    @@ -405,10 +399,6 @@ static int __init balloon_init(void)
    balloon_stats.balloon_low = 0;
    balloon_stats.balloon_high = 0;

    - init_timer(&balloon_timer);
    - balloon_timer.data = 0;
    - balloon_timer.function = balloon_alarm;
    -
    register_balloon(&balloon_sysdev);

    /* Initialise the balloon with excess memory space. */
    --
    1.4.4.4


    \
     
     \ /
      Last update: 2010-12-29 18:21    [W:0.032 / U:1.632 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site