2014-09-14 10:25+0800, Amos Kong:
> On Sun, Sep 14, 2014 at 09:12:08AM +0800, Amos Kong wrote:
> 
> ...
> > > > > diff --git a/drivers/char/hw_random/core.c 
> > > > > b/drivers/char/hw_random/core.c
> > > > > index c591d7e..b5d1b6f 100644
> > > > > --- a/drivers/char/hw_random/core.c
> > > > > +++ b/drivers/char/hw_random/core.c
> > > > > @@ -195,8 +195,7 @@ static ssize_t rng_dev_read(struct file *filp, 
> > > > > char __user *buf,
> > > > >  
> > > > >               mutex_unlock(&rng_mutex);
> > > > >  
> > > > > -             if (need_resched())
> > > > > -                     schedule_timeout_interruptible(1);
> > > > > +             schedule_timeout_interruptible(10);

If cond_resched() does not work, it is a bug elsewehere.

> Problem only occurred in non-smp guest, we can improve it to:
> 
>                         if(!is_smp())
>                                 schedule_timeout_interruptible(10);
> 
> is_smp() is only available for arm arch, we need a general one.

(It is num_online_cpus() > 1.)
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to