[SPDK] Re: The low water mark in NVMe/TCP target
Walker, Benjamin <benjamin.walker at intel.com> Mon, 11 Jul 2022 20:58:29 +0000
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <BYAPR11MB282459934E5A61028DB04AD9EF879@BYAPR11MB2824.namprd11.prod.outlook.com> |
--===============8182145881344712710== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > From: Bin Yang <bin.yang(a)jaguarmicro.com> > = > Hello, Everyone! > = > I find spdk set low water mark in NVMe/TCP target to 8 bytes (sizeof(stru= ct > spdk_nvme_tcp_common_pdu_hdr)) In my test case, sometimes, there > might be very small data packet (as small as 4 bytes) be sent to wire=EF= =BC=8CAfter > this, if there is no more data sent to the same socket, this small data p= acket > won=E2=80=99t be received by NVMe/TCP controller qpair poll=EF=BC=8C > because the size hasn=E2=80=99t reached the low watermark. > = > So I want to know: > = > 1) Why spdk need to set low watermark in NVMe/TCP target to 8 bytes=EF= =BC=8CI > don't think there's much advantage in doing that? > = > 2) Can we set low watermark in NVMe/TCP target to 1 bytes just like is= csi > target_does? I think you're correct here - using 8 is a bug. It's absolutely possible th= at the last I/O sent was split into two weird data frame sizes that arrived= significantly far apart in time, and the second one is something tiny like= 4 bytes. Did you want to submit a bug fix for this, or would you like me to? Thanks, Ben > = > Thanks, > = > Bin > _______________________________________________ > SPDK mailing list -- spdk(a)lists.01.org > To unsubscribe send an email to spdk-leave(a)lists.01.org --===============8182145881344712710==--