lkml.org 
[lkml]   [2009]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Page allocation failures in guest
On 08/12/2009 08:31 AM, Rusty Russell wrote:
> +static void refill_work(struct work_struct *work)
> +{
> + struct virtnet_info *vi;
> + bool still_empty;
> +
> + vi = container_of(work, struct virtnet_info, refill);
> + napi_disable(&vi->napi);
> + try_fill_recv(vi, GFP_KERNEL);
> + still_empty = (vi->num == 0);
> + napi_enable(&vi->napi);
> +
> + /* In theory, this can happen: if we don't get any buffers in
> + * we will*never* try to fill again. Sleeping in keventd if
> + * bad, but that is worse. */
> + if (still_empty) {
> + msleep(100);
> + schedule_work(&vi->refill);
> + }
> +}
> +
>

schedule_delayed_work()?

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.



\
 
 \ /
  Last update: 2009-08-12 07:45    [W:0.373 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site