[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] DomU's network interface will hung when Dom0 running 32bit
On Tue, Oct 15, 2013 at 10:29:15PM +0800, jianhai luan wrote: > > On 2013-10-15 20:58, Wei Liu wrote: > >On Tue, Oct 15, 2013 at 07:26:31PM +0800, jianhai luan wrote: > >[...] > >>>>>Can you propose a patch? > >>>>Because credit_timeout.expire always after jiffies, i judge the > >>>>value over the range of time_after_eq() by time_before(now, > >>>>vif->credit_timeout.expires). please check the patch. > >>>I don't think this really fix the issue for you. You still have chance > >>>that now wraps around and falls between expires and next_credit. In that > >>>case it's stalled again. > >>if time_before(now, vif->credit_timeout.expires) is true, time wrap > >>and do operation. Otherwise time_before(now, > >>vif->credit_timeout.expires) isn't true, now - > >>vif->credit_timeout.expires should be letter than ULONG_MAX/2. > >>Because next_credit large than vif->credit_timeout.expires > >>(next_crdit = vif->credit_timeout.expires + > >>msecs_to_jiffies(vif->credit_usec/1000)), the delta between now and > >>next_credit should be in range of time_after_eq(). So > >>time_after_eq() do correctly judge. > >> > >Not sure I understand you. Consider "now" is placed like this: > > > > expires now next_credit > > ----time increases this direction---> > > > >* time_after_eq(now, next_credit) -> false > >* time_before(now, expires) -> false > > If now is placed in above environment, the result will be correct > (Sending package will be not allowed until next_credit). No, it is not necessarily correct. Keep in mind that "now" wraps around, which is the issue you try to fix. You still have a window to stall your frontend. > * time_after_eq(now, next_credit) --> false will include two environment: > expires now next_credit > -----------time increases this direction ----> > > Or > expires next_credit next_credit + MAX_LONG/2 now > -----------time increases this direction ----> > > > the first environment should be correct to control transmit. the > second environment is our included environment. > > Jason > > > >Then it's stuck again. You're merely narrowing the window, not fixing > >the real problem. > > > >Wei. > > > >>Jason > >>>Wei. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |