<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel? in Intel® ISA Extensions</title>
    <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624081#M7089</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am currently working on a kernel module where I need to perform a memmove operation using Data Streaming Accelerator (DSA).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using a 4th generation or later Intel Xeon processor, and I have successfully verified that DSA works correctly in user space by following the examples provided in the user guide. While I have been able to find examples and documentation for using DSA in user space, I am struggling to implement the same operation within the kernel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could someone please provide a clear, step-by-step guide or example code on how to correctly set up and execute a memmove operation using DSA from within the kernel?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help or guidance would be greatly appreciated. Thank you!&lt;/P&gt;</description>
    <pubDate>Mon, 19 Aug 2024 06:03:48 GMT</pubDate>
    <dc:creator>yun3319</dc:creator>
    <dc:date>2024-08-19T06:03:48Z</dc:date>
    <item>
      <title>How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624081#M7089</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am currently working on a kernel module where I need to perform a memmove operation using Data Streaming Accelerator (DSA).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using a 4th generation or later Intel Xeon processor, and I have successfully verified that DSA works correctly in user space by following the examples provided in the user guide. While I have been able to find examples and documentation for using DSA in user space, I am struggling to implement the same operation within the kernel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could someone please provide a clear, step-by-step guide or example code on how to correctly set up and execute a memmove operation using DSA from within the kernel?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help or guidance would be greatly appreciated. Thank you!&lt;/P&gt;</description>
      <pubDate>Mon, 19 Aug 2024 06:03:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624081#M7089</guid>
      <dc:creator>yun3319</dc:creator>
      <dc:date>2024-08-19T06:03:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624377#M7093</link>
      <description>&lt;P&gt;You can try this using the&amp;nbsp;Linux dmaengine framework : &lt;A href="https://docs.kernel.org/driver-api/dmaengine/dmatest.html" target="_blank"&gt;https://docs.kernel.org/driver-api/dmaengine/dmatest.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Prior to this, you need to setup a DSA WQ of kernel type using accel-config.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For e.g.:&lt;/P&gt;&lt;P&gt;sudo accel-config config-engine dsa2/engine2.0 --group-id=0&lt;/P&gt;&lt;P&gt;sudo accel-config config-wq dsa2/wq2.0 --group-id=0 --block-on-fault=0 --mode=dedicated --priority=10 --wq-size=64 --type=kernel --name=dmaengine --driver-name=dmaengine&lt;/P&gt;&lt;P&gt;sudo accel-config enable-device dsa2&lt;/P&gt;&lt;P&gt;sudo accel-config enable-wq dsa2/wq2.0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Post this, there should be a dmachannel showing up under /sys/class/dma (it will not show up under /dev/dsa as it does for a user WQ).&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Aug 2024 08:50:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624377#M7093</guid>
      <dc:creator>RNa</dc:creator>
      <dc:date>2024-08-20T08:50:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624573#M7094</link>
      <description>&lt;P&gt;I tried executing the command suggested(sudo mode):&lt;BR /&gt;$ accel-config config-wq dsa2/wq2.0 --group-id=0 --block-on-fault=0 --mode=dedicated --priority=10 --wq-size=64 --type=kernel --name=dmaengine --driver-name=dmaengine&lt;BR /&gt;&lt;BR /&gt;However, I encountered the following error message:&lt;BR /&gt;libaccfg: accfg_wq_set_str_name: wq2.0: write failed: Operation not supported&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems that the operation is not supported when trying to configure the work queue with the specified parameters. Could you provide any insights on why this might be happening or suggest any further steps I could take to resolve this issue?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Aug 2024 23:32:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624573#M7094</guid>
      <dc:creator>yun3319</dc:creator>
      <dc:date>2024-08-20T23:32:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624640#M7095</link>
      <description>&lt;P&gt;Are you doing it as a root user?&lt;/P&gt;&lt;P&gt;What is your kernel version?&lt;/P&gt;</description>
      <pubDate>Wed, 21 Aug 2024 04:27:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1624640#M7095</guid>
      <dc:creator>RNa</dc:creator>
      <dc:date>2024-08-21T04:27:58Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625157#M7096</link>
      <description>Yes, I did as a root user. And my kernel version is 5.18. Thank you.</description>
      <pubDate>Thu, 22 Aug 2024 17:39:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625157#M7096</guid>
      <dc:creator>yun3319</dc:creator>
      <dc:date>2024-08-22T17:39:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625162#M7097</link>
      <description>&lt;P&gt;How many DSA devices do you have on your system? lspci |grep -i 0b25 should tell you.&lt;/P&gt;&lt;P&gt;If you have 1 DSA per socket, you can try the earlier commands with dsa0 instead of dsa2, wq0.x instead of wq2.x and engine0.x instead of engine2.x.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Aug 2024 18:17:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625162#M7097</guid>
      <dc:creator>RNa</dc:creator>
      <dc:date>2024-08-22T18:17:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625268#M7098</link>
      <description>In my system, there’s eight dsa devices. And when I tried dsa0, wq0.0, I encountered same situation:&lt;BR /&gt;libaccfg: accfg_wq_set_str_name: [wq] write failed: Operation not supported&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 23 Aug 2024 00:08:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625268#M7098</guid>
      <dc:creator>yun3319</dc:creator>
      <dc:date>2024-08-23T00:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625351#M7099</link>
      <description>&lt;P&gt;Is it possible that you configured and enabled wq0.0 or wq2.0 as user mode before you try to enable them as kernel mode without disabling them first?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You may check wq status by accel-config list. If wq0.0 or wq2.0 are enabled, please disable them before you change them to a different mode. You may run "sudo accel-config disable-wq dsa0" to disable dsa0 device including all enabled wq0.x. Then try the kernel wq configuration command.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 05:30:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1625351#M7099</guid>
      <dc:creator>fyu</dc:creator>
      <dc:date>2024-08-23T05:30:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1626712#M7100</link>
      <description>&lt;P&gt;I was able to confirm that a dma channel(dma4chan0) was created in /sys/class/dma after disabling wq in linux kernel 6.9.0 and proceeding.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when I ran dmatest with following command, (all commands are executed by root user)&lt;/P&gt;&lt;PRE&gt;$ modprobe dmatest timeout=2000 iterations=1 channel=dma4chan0 run=1&lt;/PRE&gt;&lt;P&gt;it failed with the following messages:&lt;/P&gt;&lt;PRE&gt;dmatest: Added 1 threads using dma4chan0
dmatest: Started 1 threads using dma4chan0
idxd 0000:00:01.0: Device error 0x1e operation : 0x3 fault addr: 0x0
dmatest: dma4chan0-copy0: result #1: 'test timed out' with src_off=0x517 dst_off=0x104a len=0x20a2 (0)
dmatest: dma4chan0-copy0: summary 1 tests, 1 failures 0.49 iops 3 KB/s (0)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I configured device, engine, wq with the following command:&lt;/P&gt;&lt;PRE&gt;$ accel-config config-device dsa0&lt;BR /&gt;$ accel-config config-engine dsa0/engine0.0 --group-id=0&lt;BR /&gt;$ accel-config config-wq dsa0/wq0.0 --group-id=0 --block-on-fault=0 --mode=dedicated --priority=10 --wq-size=64 --type=kernel --name=dmaengine --driver-name=dmaengine&lt;BR /&gt;$ accel-config enable-device dsa0&lt;BR /&gt;$ accel-config enable-wq dsa0/wq0.0&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any problem with the configuration or dma test?&lt;/P&gt;</description>
      <pubDate>Wed, 28 Aug 2024 06:08:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1626712#M7100</guid>
      <dc:creator>yun3319</dc:creator>
      <dc:date>2024-08-28T06:08:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1626720#M7101</link>
      <description>&lt;P&gt;Please check if VC1 is enabled in the device configuration (you can check via lspci output).&amp;nbsp;&lt;/P&gt;&lt;P&gt;If disabled, perhaps you can try to enable via setpci?&lt;/P&gt;&lt;P&gt;Alternately, you can specify tc_override module param when loading idxd driver via modprobe.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Aug 2024 06:52:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1626720#M7101</guid>
      <dc:creator>RNa</dc:creator>
      <dc:date>2024-08-28T06:52:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform a memmove operation using DSA(data streaming accelerator) in linux kernel?</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1626726#M7102</link>
      <description>&lt;P&gt;&lt;SPAN class=""&gt;Thank you for your kind reply.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;It was resolved by setting tc_override.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Aug 2024 07:29:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-perform-a-memmove-operation-using-DSA-data-streaming/m-p/1626726#M7102</guid>
      <dc:creator>yun3319</dc:creator>
      <dc:date>2024-08-28T07:29:06Z</dc:date>
    </item>
  </channel>
</rss>

