SR-IOV is something you would have to explicitly enable either by
configuring it via module parameter or via a sysfs value.  You can
verify if it is enabled or not by running lspci -vvv -s <b:d.f> where
b:d.f is the bus, device, and function number for your device.  If
SR-IOV is enabled the Number of VFs value will be non-zero.

One other thing you might try would be to bring the interface down by
running "ip link set <ethX> down", then run the ethregs again to capture
the state of the DCA registers, followed by "ip link set <ethX up>.

It would also be useful if you could try making the changes below to
your driver to provide some debug output in the dmesg log.  The piece I
am trying to capture here is if we try to update Tx and Rx queue 0
configuration or not.  Just loading the driver with these changes in
should be enough to give us that information.

Thanks,

Alex

--

diff --git a/src/ixgbe_main.c b/src/ixgbe_main.c
index 418ff08..56d70b5 100644
--- a/src/CORE/ixgbe_main.c
+++ b/src/CORE/ixgbe_main.c
@@ -901,6 +901,8 @@ static void ixgbe_update_tx_dca(struct ixgbe_adapter
*adapter,
        u32 txctrl = dca3_get_tag(tx_ring->dev, cpu);
        u16 reg_offset;

+       printk("Updating DCA for Tx queue %d\n", tx_ring->reg_idx);
+
        switch (hw->mac.type) {
        case ixgbe_mac_82598EB:
                reg_offset = IXGBE_DCA_TXCTRL(tx_ring->reg_idx);
@@ -940,6 +942,7 @@ static void ixgbe_update_rx_dca(struct ixgbe_adapter
*adapter,
        u32 rxctrl = dca3_get_tag(rx_ring->dev, cpu);
        u8 reg_idx = rx_ring->reg_idx;

+       printk("Updating DCA for Rx queue %d\n", rx_ring->reg_idx);

        switch (hw->mac.type) {
        case ixgbe_mac_82599EB:
@@ -1009,6 +1012,7 @@ static void ixgbe_setup_dca(struct ixgbe_adapter
*adapter)
        IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_CTRL, 2);

        for (v_idx = 0; v_idx < adapter->num_q_vectors; v_idx++) {
+               printk("Updating q_vector %d\n", v_idx);
                adapter->q_vector[v_idx]->cpu = -1;
                ixgbe_update_dca(adapter->q_vector[v_idx]);
        }


On 02/21/2014 08:05 AM, Scott Silverman wrote:
> I am not certain if SR-IOV is toggled on or off in the motherboard
> firmware, but I will look this evening. In the meantime, are you aware of a
> way to determine that without entering the firmware? I can tell you that
> "Intel Virtualization Tech" and "Intel VT-d" are both disabled, and that
> the kernel is using SWIOTLB, not iommu.
> 
> I moved the IRQ vector for TxRx0 to core 1, and back to core 0, no change
> in the DCA_RXCTRL[000].
> 
> 
> 
> 
> Thanks,
> 
> Scott Silverman | IT | Simplex Investments | 312-360-2444
> 230 S. LaSalle St., Suite 4-100, Chicago, IL 60604
> 
> 
> On Thu, Feb 20, 2014 at 4:38 PM, Alexander Duyck <
> alexander.h.du...@intel.com> wrote:
> 
>> The fact that Rx and Tx ring zero aren't updating is quite odd if you
>> have a current driver  By any chance do you have something like SR-IOV
>> enabled?  That would reserve queues starting at 0, but not enable DCA.
>>
>> One thing you might try would be to change the affinity of the TxRx-0
>> interrupt vector associated with the interface.  If it is currently on
>> CPU 0 try moving it to CPU 1, and then back to 0 to see if that resolves
>> the issue.  I'm still trying to find in the code where this queue could
>> come up without configuring DCA and that might give me some input on
>> what is going on.
>>
>> Thanks,
>>
>> Alex
>>
>> On 02/20/2014 01:07 PM, Scott Silverman wrote:
>>> Sure, I've attached the output.
>>>
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Scott Silverman | IT | Simplex Investments | 312-360-2444
>>> 230 S. LaSalle St., Suite 4-100, Chicago, IL 60604
>>>
>>>
>>> On Thu, Feb 20, 2014 at 11:10 AM, Alexander Duyck <
>>> alexander.h.du...@intel.com> wrote:
>>>
>>>> Could you please re-run the ethregs with the "-s 5:00.1" instead of the
>>>> "-d 8086:10fb" option.  Using the device ID will give you the results
>>>> for both function 0 and function 1.  I just want to verify which
>>>> function we are getting the results for.
>>>>
>>>> Thanks,
>>>>
>>>> Alex
>>>>
>>
> 


------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
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