lkml.org 
[lkml]   [2014]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [BISECTED][REGRESSION] Loading Hyper-V network drivers is racy in 3.14+ on Hyper-V 2012 R2
    Date


    > -----Original Message-----
    > From: Sitsofe Wheeler [mailto:sitsofe@gmail.com]
    > Sent: Tuesday, July 15, 2014 1:09 AM
    > To: Haiyang Zhang
    > Cc: KY Srinivasan; David S. Miller; devel@linuxdriverproject.org; linux-
    > kernel@vger.kernel.org; netdev@vger.kernel.org
    > Subject: Re: [BISECTED][REGRESSION] Loading Hyper-V network drivers is
    > racy in 3.14+ on Hyper-V 2012 R2
    >
    > On Mon, Jul 14, 2014 at 10:39:48PM +0000, Haiyang Zhang wrote:
    > > > -----Original Message-----
    > > > From: Sitsofe Wheeler [mailto:sitsofe@gmail.com]
    > > > Sent: Monday, July 14, 2014 5:31 PM
    > > > To: Haiyang Zhang
    > > > Cc: KY Srinivasan; David S. Miller; devel@linuxdriverproject.org;
    > linux-
    > > > kernel@vger.kernel.org; netdev@vger.kernel.org
    > > > Subject: Re: [BISECTED][REGRESSION] Loading Hyper-V network drivers
    > is
    > > > racy in 3.14+ on Hyper-V 2012 R2
    > >
    > > Thanks for the tests! I will make a patch that can automatically retry
    > > smaller memory allocs when memory is insufficient.
    >
    > This concerns me a bit - why would there be insufficient memory on a 64
    > bit VM with 4 GBytes of RAM just after startup (presumably the host's
    > memory isn't the issue)? Additionally, while things might fail just when
    > things are starting up, doing ifup eth0 at some point later succeeds so
    > whatever issue it had seems temporary.
    >
    > Perhaps it would be wise to adding some debugging output to see if the
    > allocation really failed and why...

    Actually, there will be debug log in dmesg if the memory allocation fails.
    But it didn't show up in your dmesg. And since it can be recovered by
    "ifup eth0" later, the NIC must have been properly loaded (buffer alloc was
    successful but took a bit longer time). I think the larger receive-buffer
    size (16MB) may take longer time, because vzalloc() may sleep. And, that's
    why we don't see the bug with a small buffer size, because the allocation
    is quick.

    Could you try put "LINKDELAY=60" into the this file?
    /etc/sysconfig/network-scripts/ifcfg-eth0
    And see if the problem goes away?

    Thanks,
    - Haiyang



    \
     
     \ /
      Last update: 2014-07-19 00:21    [W:4.942 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site