lkml.org 
[lkml]   [2016]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [Intel-wired-lan] [PATCH] igb: drop field "tail" of struct igb_ring
From
Date


On 11/08/2016 12:12 PM, Alexander Duyck wrote:
>
>
> On Monday, November 7, 2016, Cao jin <caoj.fnst@cn.fujitsu.com
> <mailto:caoj.fnst@cn.fujitsu.com>> wrote:
>
>

>
> We removed head because it isn't really accessed very often, it is only
> really used for when the ring is configured. Tail is accessed every
> time we add a descriptor to a ring. The pointer chasing from ring to
> netdev to adapter to hw is expensive. That is one of the rasons why
> we cache the pointer to the tail register.

I see. I can submit the patch as you suggested.

>
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
> drivers/net/ethernet/intel/igb/igb.h | 1 -
> drivers/net/ethernet/intel/igb/igb_main.c | 16
> +++++++++-------

>
> hw->hw_addr could be alterred to NULL(in igb_rd32), this is why
> writel oops the kernel, you give a fine solution.
>
> But from the oops message, we can find, register reading returns all
> F's, I also have a question want to consult: when igb device is
> reset, would reading register(no matter config space or non-PCIe
> configuration registers) during reset returns all F's? (I guess this
> is the core of my issue)
>
>
> An all F's value means the read failed. The device is likely off of the
> bus and the hw_addr may not have been repopulated after the reset.
>
> You might want to check the mailing list as I thought someone had
> submitted a patch recently for one of the drivers to repopulate hw_addr
> after a reset.
>

I guess you are saying this one:
http://patchwork.ozlabs.org/patch/689592/

Seems they have a similar issue with me.


--
Yours Sincerely,

Cao jin


\
 
 \ /
  Last update: 2016-11-08 07:06    [W:0.045 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site