Hello.

I have accidentally found a set of functions which are meant for managing of 
"higher level buffers" in case of BQL:
netdev_sent_queue
netdev_tx_sent_queue
netdev_completed_queue
netdev_tx_completed_queue
netdev_reset_queue
netdev_tx_reset_queue

I think, that calling them in proper moments will solve the problem with 
netconsole. Some of these functions are already used for example in the igb 
driver.

Petr

______________________________________________________________
> Od: "Fujinaka, Todd" <[email protected]>
> Komu: Petr Cervenka <[email protected]>
> Datum: 14.10.2013 19:39
> Předmět: RE: [E1000-devel] BQL and netconsole
>
>Can you tell me what hardware you're running and which kernel?
>
>Thanks.
>
>Todd Fujinaka
>Software Application Engineer
>Networking Division (ND)
>Intel Corporation
>[email protected]
>(503) 712-4565
>
>-----Original Message-----
>From: Fujinaka, Todd [mailto:[email protected]] 
>Sent: Friday, October 11, 2013 10:19 AM
>To: Petr Cervenka
>Cc: e1000-devel
>Subject: Re: [E1000-devel] BQL and netconsole
>
>OK. I'll file an internal bug on this.
>
>Todd Fujinaka
>Software Application Engineer
>Networking Division (ND)
>Intel Corporation
>[email protected]
>(503) 712-4565
>
>
>-----Original Message-----
>From: Petr Cervenka [mailto:[email protected]]
>Sent: Friday, October 11, 2013 6:30 AM
>To: Fujinaka, Todd
>Cc: e1000-devel
>Subject: RE: [E1000-devel] BQL and netconsole
>
>Hello.
>I must apologize, because it is not easy to fill internal buffers of network 
>adapter with unplugged cable. Normal network communication* probably doesn't 
>reach the driver under such circumstances. Netconsole must be bypassing that 
>somehow.
>
>(*I tried RAW Ethernet packets.)
>
>Petr
>
>______________________________________________________________
>> Od: "Petr Cervenka" <[email protected]>
>> Komu: "Fujinaka, Todd" <[email protected]>
>> Datum: 08.10.2013 14:33
>> Předmět: RE: [E1000-devel] BQL and netconsole
>>
>> CC: "e1000-devel" <[email protected]>
>>Netconsole is only easiest and most visible way to reproduce the issue.
>>Similar behavior could be produced by sending multiple packets when network 
>>is configured such way.
>>Every single packet will need 2 seconds to timeout and to make "Reset 
>>adapter" message.
>> 
>>Without BQL, there is only one 2sec timeout and one "Reset adapter" 
>>message
>> 
>>Petr
>> 
>>PS: If anything is unclear, just ask me a question.
>>______________________________________________________________
>>> Od: "Fujinaka, Todd" <[email protected]>
>>> Komu: Petr Cervenka <[email protected]>, "e1000-devel" 
>>> <[email protected]>
>>> Datum: 20.09.2013 18:14
>>> Předmět: RE: [E1000-devel] BQL and netconsole
>>>
>>Netconsole is not developed by us, so we can't guarantee interoperability. 
>>You may need to ask the netconsole developers for help.
>>
>>Todd Fujinaka
>>Software Application Engineer
>>Networking Division (ND)
>>Intel Corporation
>>[email protected]
>>(503) 712-4565
>>
>>
>>-----Original Message-----
>>From: Petr Cervenka [mailto:[email protected]]
>>Sent: Friday, September 20, 2013 2:14 AM
>>To: Fujinaka, Todd; e1000-devel
>>Subject: RE: [E1000-devel] BQL and netconsole
>>
>>I tried version 2.5.4 with the same result.
>>I will try to explain the problem shortly:
>>Network interface and netconsole are configured as I wrote earlier. Network 
>>cable is unplugged.
>>
>>Normally (in older versions) all netconsole messages were buffered in the 
>>driver tx queue.
>>When a watchdog task timed out, all of them were cleared at once, including 
>>the messages produced by the watchdog task itself.
>>
>>In newer versions there is always only one netconsole message in the driver 
>>tx queue. The rest is buffered "elsewhere".
>>When the watchdog task times out, only the driver tx queue is cleared. The 
>>"elsewhere" buffer is untouched.
>>Meanwhile the watchdog task produces another message to transmit ("Reset 
>>adapter") and that message is stored in "elsewhere" buffer.
>>
>>______________________________________________________________
>>> Od: "Fujinaka, Todd" <[email protected]>
>>> Komu: Petr Cervenka <[email protected]>, "e1000-devel" 
>>> <[email protected]>
>>> Datum: 19.09.2013 19:38
>>> Předmět: RE: [E1000-devel] BQL and netconsole
>>>
>>>Not really sure what the problem could be, but there is a BQL fix in 2.4.14. 
>>>Have you tried the latest driver on e1000.sourceforge.net?
>>>
>>>Todd Fujinaka
>>>Software Application Engineer
>>>Networking Division (ND)
>>>Intel Corporation
>>>[email protected]
>>>(503) 712-4565
>>>
>>>-----Original Message-----
>>>From: Petr Cervenka [mailto:[email protected]]
>>>Sent: Tuesday, September 17, 2013 12:50 AM
>>>To: Fujinaka, Todd; e1000-devel
>>>Subject: RE: [E1000-devel] BQL and netconsole
>>>
>>>>Is this on the e1000 driver? Can you tell us which part you're using as 
>>>>well?
>>>
>>>Driver is e1000e. Till 1.11.3 it's OK, versions 2.0.0 and later produce the 
>>>problem.
>>>
>>>>
>>>>How are you configuring the link? Are you bringing the link down with 
>>>>ifdown?
>>>
>>>Interface is configured with static IP:
>>>$ ifconfig eth0 10.1.1.2 up
>>>
>>>Netconsole is configured as broadcast on that interface:
>>>$ modprobe netconsole netconsole=@/eth0,@255.255.255.255/
>>>
>>>Link is lost by unplugging of the cable.
>>>
>>>Event to start the problem could be plugging in the flash disk or similar 
>>>command to:
>>>$ echo "<8>kernel message" > /dev/kmsg
>>>
>>>Petr
>>>
>>>>Hello,
>>>>I have a problem with usage of netconsole and BQL.
>>>>If the netconsole is configured to interface without link and any event 
>>>>(with netconsole message) happens, the computer starts to print "Reset 
>>>>adapter" message cca every 2 seconds.
>>>>It's because driver watchdog task times out and resets the adapter and 
>>>>produces new message for netconsole.
>>>>Without the BQL, the message is put to tx queue and almost immediatelly 
>>>>cleared in e1000_reinit_locked.
>>>>But with BQL enabled driver, the messages are queued in some upper layer 
>>>>and are processed one by one with 2 seconds timeout.
>>>>Is there any workaround or patch to fix such behavior (to clear higher 
>>>>level queue in reinit?) ?
>>>>Thanks in advance.
>
>

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to