spdk.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-26  9:37 qiang su
  0 siblings, 0 replies; 8+ messages in thread
From: qiang su @ 2022-10-26  9:37 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 56 bytes --]

Hi Jim,

Got it. Thanks a lot!

Best Regards,
Qiang

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-27 10:26 qiang su
  0 siblings, 0 replies; 8+ messages in thread
From: qiang su @ 2022-10-27 10:26 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 888 bytes --]

Hi Jim,

Thanks for your reply.
Now, I am trying to use SPDK I/OAT driver to copy data.  
Copy data between SSD's CMB and host memory. 
The CMB type can be configured as prefetchable or non-prefetchable by upgrade SSD firmware.

The test application use "spdk_ioat_submit_copy" to copy data , 
Host memory is allocated by spdk_dma_zmalloc(...), CMB is allocated by spdk_nvme_ctrlr_map_cmb(...).

Test result found that the prefetchable CMB performance is poorer than non-prefetchable CMB.
Could you give me advice why prefetchable CMB is poorer than non-prefetchable?
Thanks a lot!

Test environment:

IOAT device info :
  Found matching device at 0000:80:04.7 vendor:0x8086 device:0x2021
attach ioat chan 0x171d010

CPU:
 Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz

Motherboard : Supermicro X11DPU

SPDK git version : 307b8c112ffd90a26d53dd15fad67bd9038ef526

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-25 14:01 Luse, Paul E
  0 siblings, 0 replies; 8+ messages in thread
From: Luse, Paul E @ 2022-10-25 14:01 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1768 bytes --]

Great, thanks for the clarification!

From: Harris, James R <james.r.harris(a)intel.com>
Date: Tuesday, October 25, 2022 at 7:01 AM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Those DCA related defines were pulled from much older versions of the IOAT driver, when DCA had to be enabled on a per-driver/device basis.

-Jim


From: Luse, Paul E <paul.e.luse(a)intel.com>
Date: Tuesday, October 25, 2022 at 6:57 AM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Good question, Jim I would have expected this line in ioat_channel_start()

ioat->regs->chanctrl = SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN;

to read:

ioat->regs->chanctrl = SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN | SPDK_IOAT_CHANCTRL_COMPL_DCA_EN;

But I don’t have the spec in front of me to confirm whether this is really required or not, just looking at the code and the defines 😊

thx
Paul


From: qiang su <qsu(a)petaio.com>
Date: Tuesday, October 25, 2022 at 5:56 AM
To: spdk(a)lists.01.org <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Hi Jim,

Thanks for your reply.
Is the DCA enabled by default in SPDK I/OAT driver?
I haven't found any parameter or API to config DCA.
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-25 14:00 Harris, James R
  0 siblings, 0 replies; 8+ messages in thread
From: Harris, James R @ 2022-10-25 14:00 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1373 bytes --]

Those DCA related defines were pulled from much older versions of the IOAT driver, when DCA had to be enabled on a per-driver/device basis.

-Jim


From: Luse, Paul E <paul.e.luse(a)intel.com>
Date: Tuesday, October 25, 2022 at 6:57 AM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Good question, Jim I would have expected this line in ioat_channel_start()

ioat->regs->chanctrl = SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN;

to read:

ioat->regs->chanctrl = SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN | SPDK_IOAT_CHANCTRL_COMPL_DCA_EN;

But I don’t have the spec in front of me to confirm whether this is really required or not, just looking at the code and the defines 😊

thx
Paul


From: qiang su <qsu(a)petaio.com>
Date: Tuesday, October 25, 2022 at 5:56 AM
To: spdk(a)lists.01.org <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Hi Jim,

Thanks for your reply.
Is the DCA enabled by default in SPDK I/OAT driver?
I haven't found any parameter or API to config DCA.
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-25 13:57 Harris, James R
  0 siblings, 0 replies; 8+ messages in thread
From: Harris, James R @ 2022-10-25 13:57 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 559 bytes --]

Hi,

I/OAT driver does not need to enable DCA/DDIO.  DDIO is a platform feature.

-Jim


From: qiang su <qsu(a)petaio.com>
Date: Tuesday, October 25, 2022 at 5:56 AM
To: spdk(a)lists.01.org <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Hi Jim,

Thanks for your reply.
Is the DCA enabled by default in SPDK I/OAT driver?
I haven't found any parameter or API to config DCA.
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-25 13:57 Luse, Paul E
  0 siblings, 0 replies; 8+ messages in thread
From: Luse, Paul E @ 2022-10-25 13:57 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 871 bytes --]

Good question, Jim I would have expected this line in ioat_channel_start()

ioat->regs->chanctrl = SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN;

to read:

ioat->regs->chanctrl = SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN | SPDK_IOAT_CHANCTRL_COMPL_DCA_EN;

But I don’t have the spec in front of me to confirm whether this is really required or not, just looking at the code and the defines 😊

thx
Paul


From: qiang su <qsu(a)petaio.com>
Date: Tuesday, October 25, 2022 at 5:56 AM
To: spdk(a)lists.01.org <spdk(a)lists.01.org>
Subject: [SPDK] Re: About SPDK I/OAT Driver.
Hi Jim,

Thanks for your reply.
Is the DCA enabled by default in SPDK I/OAT driver?
I haven't found any parameter or API to config DCA.
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-25  9:12 qiang su
  0 siblings, 0 replies; 8+ messages in thread
From: qiang su @ 2022-10-25  9:12 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 141 bytes --]

Hi Jim,

Thanks for your reply.
Is the DCA enabled by default in SPDK I/OAT driver?  
I haven't found any parameter or API to config DCA.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [SPDK] Re: About SPDK I/OAT Driver.
@ 2022-10-24 16:12 Harris, James R
  0 siblings, 0 replies; 8+ messages in thread
From: Harris, James R @ 2022-10-24 16:12 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1118 bytes --]

Hi,

I/OAT uses DDIO to place data into LLC.  DDIO is the latest implementation of DCA on Intel platforms.

-Jim



From: qsu(a)petaio.com <qsu(a)petaio.com>
Date: Monday, October 24, 2022 at 4:12 AM
To: spdk(a)lists.01.org <spdk(a)lists.01.org>
Subject: [SPDK] About SPDK I/OAT Driver.
Hello,

I am studying SPDK I/OAT Driver, I don't understand if SPDK's IOAT DMA will access(via) CPU cache?
Can someone give me an advice?
Thanks a lot.

 SPDK says I/OAT driver is a DMA engine,
 I read some introductions about I/OAT on the intel website: (https://www.intel.com/content/www/us/en/wireless-network/accel-technology.html).
 It says I/OAT includes DCA, It looks like that DCA will access CPU cache.

"Direct Cache Access (DCA) allows a capable I/O device, such as a network controller, to place data directly into CPU cache, reducing cache misses and improving application response times."

Any help is appreciated.

Best Regards,
Qiang Su
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-27 10:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-26  9:37 [SPDK] Re: About SPDK I/OAT Driver qiang su
  -- strict thread matches above, loose matches on Subject: below --
2022-10-27 10:26 qiang su
2022-10-25 14:01 Luse, Paul E
2022-10-25 14:00 Harris, James R
2022-10-25 13:57 Harris, James R
2022-10-25 13:57 Luse, Paul E
2022-10-25  9:12 qiang su
2022-10-24 16:12 Harris, James R

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).