The only other way you can be absolutely certain that DCA tags are being 
generated and sent across the bus is to hook your NIC up through a PCI Express 
bus analyzer.  The PCIe trace should show the DCA tags in the TLV's; that is a 
visual way to verify whether or not DCA is truly working.

Cheers,

PJ Waskiewicz
[email protected]

-----Original Message-----
From: Sosnowski, Maciej [mailto:[email protected]]
Sent: Thursday, July 16, 2009 6:41 AM
To: ???
Cc: [email protected]
Subject: Re: [E1000-devel] DCA seems not work properly.

I/OAT QuickData is a set of couple features like TCP DMA offloading or DCA.
Enabling I/OAT in BIOS is enough to use TCP DMA offloading. However to use DCA 
you should additionally enable separate DCA option in BIOS.
ioatdma driver, which works as a DCA provider, detects if DCA has been enabled 
by BIOS. If it has not, it dumps "DCA is disabled in BIOS" message you observe.
To use DCA you should have both ioatdma and dca modules loaded. Additionally 
dca module should be used by ixgbe or igb driver.
That is correct: just by means of DCA enabled you should see CPU utilization 
improvement. This is the way you can check if DCA is working.
You can also use TCP DMA offloading for packet receive performance improvement.
You can verify if it is working by checking /sys/class/dma/dmaXchanY statistics 
(bytes_transferred, memcpy_count).

Regards,
Maciej

________________________________
From: 배영부 [mailto:[email protected]]
Sent: Thursday, July 16, 2009 9:51 AM
To: Sosnowski, Maciej
Cc: [email protected]
Subject: Re: [E1000-devel] DCA seems not work properly.

Thank you for your reply.

First, please forgive my poor understanding and poor English.

According to device driver source code, DCA seems a component of I/OAT 
QuickData Technology.
and It seems work on DCA. so, DCA should be enabled. Is it right?
I'm not sure about relationship between DCA and the QuickData Technology.
from the document named "Intel QuickData technology software guide for Linux",
there are number of APIs for QuickData technology.
I think it means if I want more efficient data movement then I must use those 
APIs. Is it right?
then..
is it means that just by means of DCA enabling, there're maybe no CPU 
utilization improvement?
FYI, I'm focusing all the packet receiving performance.
If you can, please let me know the best way how do I know the DCA is working.

Thank you for your concern.

Best Regards.

Sosnowski, Maciej 쓴 글:

There should be DCA available to enable in BIOS.
If there is none and despite enabling I/OAT you still see "DCA is not enabled 
in BIOS" message, this means there is a BIOS issue. You should contact the BIOS 
vendor.
The system DCA configuration you show below looks fine.
With DCA enabled there should be CPU utilization improvement observed.

Regards,
Maciej

-----Original Message-----
From: ??? [mailto:[email protected]]
Sent: Wednesday, July 15, 2009 10:04 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [E1000-devel] DCA seems not work properly.

I've also disabled two of BIOS option.
that are adjacent cache line prefetcher and hardware prefetch queue.
What's wrong with me?
and I'd like to know what is the best way to know that feature is
working properly.

thanks a lot.

Best Regards.

Rich wrote:


Hi there.

I'm evaluating DCA feature of 82598EB 10G NIC.
But It seems not work properly, I think.
Please, help me out.

FYI, My configuration work flows are like below.

1. First, my evaluation system consist of
  Intel S5000PSL STAT mainboard
  Intel Quad-Core Xeon processor * 2
  Intel 10G XF SR(EXPX9501AFXSR) -> 82598EB NIC

  and OS is Ubuntu 9.04 server (kernel version 2.6.28-13-server)
  and I've used driver ioatdma-3.61, ixgbe-2.0.34.3 from sourceforge
e1000 forum.

2. I configured Intel I/OAT enable in BIOS
  Even though I enabled Intel I/OAT in BIOS, Kernel said that DCA is not
enabled in BIOS.
  I don't know why kernel said like that.

3. Because of kernel's complaining, I've patched
http://patchwork.kernel.org/patch/15273
  As you maybe know, It make DCA enable forcefully.
  After that, ixgbe driver recognized as DCA can be enabled.

4. And the last, Whole of configuration results are like below. Please
check them out.

r...@intel-server:~$ insmod /usr/src/ioatdma-3.61/dca/dca.ko
r...@intel-server:~$ insmod /usr/src/ioatdma-3.61/ioatdma/ioatdma.ko
r...@intel-server:~$ insmod /usr/src/ixgbe-2.0.34.3/src/ixgbe.ko

r...@intel-server:~$ lsmod
Module                  Size  Used by
ioatdma                35592  0
ixgbe                 178120  0
dca                    16612  2 ioatdma,ixgbe

r...@intel-server:/sys/class/dca$ ls -l
lrwxrwxrwx  1 root root 0 2009-07-14 18:15 dca0 ->
../../devices/pci0000:00/0000:00:08.0/dca/dca0
lrwxrwxrwx  1 root root 0 2009-07-14 18:15 requester0 ->
../../devices/pci0000:00/0000:00:08.0/dca/dca0/requester0

r...@intel-server:/sys/class/dma$ ls -l
lrwxrwxrwx  1 root root 0 2009-07-14 18:15 dma0chan0 ->
../../devices/pci0000:00/0000:00:08.0/dma/dma0chan0
lrwxrwxrwx  1 root root 0 2009-07-14 18:15 dma0chan1 ->
../../devices/pci0000:00/0000:00:08.0/dma/dma0chan1
lrwxrwxrwx  1 root root 0 2009-07-14 18:15 dma0chan2 ->
../../devices/pci0000:00/0000:00:08.0/dma/dma0chan2
lrwxrwxrwx  1 root root 0 2009-07-14 18:15 dma0chan3 ->
../../devices/pci0000:00/0000:00:08.0/dma/dma0chan3

r...@intel-server:/sys/class/net/eth10# ls -l
-r--r--r-- 1 root root 4096 2009-07-14 18:16 addr_len
-r--r--r-- 1 root root 4096 2009-07-14 18:14 address
-r--r--r-- 1 root root 4096 2009-07-14 18:16 broadcast
-r--r--r-- 1 root root 4096 2009-07-14 18:16 carrier
-r--r--r-- 1 root root 4096 2009-07-14 18:16 dev_id
lrwxrwxrwx 1 root root    0 2009-07-14 18:16 device -> ../../../0000:0c:00.0
-r--r--r-- 1 root root 4096 2009-07-14 18:16 dormant
-r--r--r-- 1 root root 4096 2009-07-14 18:16 features
-rw-r--r-- 1 root root 4096 2009-07-14 18:16 flags
-rw-r--r-- 1 root root 4096 2009-07-14 18:16 ifalias
-r--r--r-- 1 root root 4096 2009-07-14 18:16 ifindex
-r--r--r-- 1 root root 4096 2009-07-14 18:16 iflink
-r--r--r-- 1 root root 4096 2009-07-14 18:16 link_mode
-rw-r--r-- 1 root root 4096 2009-07-14 18:16 mtu
-r--r--r-- 1 root root 4096 2009-07-14 18:16 operstate
drwxr-xr-x 2 root root    0 2009-07-14 18:16 power
drwxr-xr-x 2 root root    0 2009-07-14 18:16 statistics
lrwxrwxrwx 1 root root    0 2009-07-14 18:16 subsystem ->
../../../../../../class/net
-rw-r--r-- 1 root root 4096 2009-07-14 18:16 tx_queue_len
-r--r--r-- 1 root root 4096 2009-07-14 18:14 type
-rw-r--r-- 1 root root 4096 2009-07-14 18:16 uevent

r...@intel-server:/usr/src/ethregs-1.7.1#<mailto:r...@intel-server:/usr/src/ethregs-1.7.1#>
 ./ethregs -c | grep DCA
    DCA_RXCTRL[0]  000010e1
    DCA_RXCTRL[1]  000010e3
    DCA_RXCTRL[2]  000010ed
    DCA_RXCTRL[3]  000010ef
    DCA_RXCTRL[4]  000010ed
    DCA_RXCTRL[5]  000010ef
    DCA_RXCTRL[6]  000010e1
    DCA_RXCTRL[7]  000010e3
    DCA_RXCTRL[8]  0000b200
    DCA_RXCTRL[9]  0000b200
    DCA_RXCTRL[10] 0000b200
    DCA_RXCTRL[11] 0000b200
    DCA_RXCTRL[12] 0000b200
    DCA_RXCTRL[13] 0000b200
    DCA_RXCTRL[14] 0000b200
    DCA_RXCTRL[15] 0000b200
    DCA_TXCTRL[0]  00002221
    DCA_TXCTRL[1]  00002223
    DCA_TXCTRL[2]  0000222d
    DCA_TXCTRL[3]  0000222f
    DCA_TXCTRL[4]  0000222d
    DCA_TXCTRL[5]  0000222f
    DCA_TXCTRL[6]  00002221
    DCA_TXCTRL[7]  00002223
    DCA_TXCTRL[8]  00002a00
    DCA_TXCTRL[9]  00002a00
    DCA_TXCTRL[10] 00002a00
    DCA_TXCTRL[11] 00002a00
    DCA_TXCTRL[12] 00002a00
    DCA_TXCTRL[13] 00002a00
    DCA_TXCTRL[14] 00002a00
    DCA_TXCTRL[15] 00002a00
    DCA_ID         00000c01
    DCA_CTRL       00000002

If you need more information, please let me know.
Thank you in advance.

Best regards.

P.S. Whenever I post a question, I'm afraid of my poor English.

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
E1000-devel mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/e1000-devel






------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
E1000-devel mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/e1000-devel



------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel

Reply via email to