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
