Hi Sagi, On Thu, Dec 5, 2019 at 4:17 AM Sagi Grimberg <sagi@xxxxxxxxxxx> wrote: > > Just got this one (Thanks for CCing me Ming, been extremely busy > lately). No problem, thanks for looking into it! > So it looks from the report that this is the immediate-data and > unsolicited data-out flows, which indeed seem to violate the alignment > assumption. The reason is that isert post recv a contig rx_desc which > has both the headers and the data, and when it gets immediate_data it > will set the data sg to rx_desc+offset (which are the headers). > > Stephen, > As a work-around for now, you should turn off immediate-data in your LIO > target. I'll work on a fix. I have confirmed that turning off ImmediateData in the target (and reconnecting) is a successful workaround for this test case. All of the I/O as reported by bio_add_page() is aligned. Using the previously described bpftrace script with 512 offset: # bpftrace lio.bt Attaching 4 probes... 512 0 512 0 1 131071 4096 0 4096 0 0 0 4096 0 4096 0 0 8 4096 0 4096 0 0 131064 4096 0 4096 0 1 131064 4096 0 4096 0 0 0 4096 0 4096 0 0 8 512 0 512 0 0 131071 4096 0 4096 0 0 130944 4096 0 4096 0 0 131056 > Thanks for reporting! Please let me know if you need any additional information, or if I can assist further. I would be happy to test any patches when you are ready. Thanks, Steve