On 3/21/25 2:30 PM, Joe Damato wrote: > On Fri, Mar 21, 2025 at 09:36:34AM -0700, Joe Damato wrote: >> On Fri, Mar 21, 2025 at 05:14:59AM -0600, Jens Axboe wrote: >>> On 3/20/25 11:56 PM, Christoph Hellwig wrote: >>>>> I don't know the entire historical context, but I presume sendmsg >>>>> did that because there was no other mechanism at the time. >>>> >>>> At least aio had been around for about 15 years at the point, but >>>> networking folks tend to be pretty insular and reinvent things. >>> >>> Yep... >>> >>>>> It seems like Jens suggested that plumbing this through for splice >>>>> was a possibility, but sounds like you disagree. >>>> >>>> Yes, very strongly. >>> >>> And that is very much not what I suggested, fwiw. >> >> Your earlier message said: >> >> If the answer is "because splice", then it would seem saner to >> plumb up those bits only. Would be much simpler too... >> >> wherein I interpreted "plumb those bits" to mean plumbing the error >> queue notifications on TX completions. >> >> My sincere apologies that I misunderstood your prior message and/or >> misconstrued what you said -- it was not clear to me what you meant. > > I think what added to my confusion here was this bit, Jens: > > > > As far as the bit about plumbing only the splice bits, sorry if I'm > > > being dense here, do you mean plumbing the error queue through to > > > splice only and dropping sendfile2? > > > > > > That is an option. Then the apps currently using sendfile could use > > > splice instead and get completion notifications on the error queue. > > > That would probably work and be less work than rewriting to use > > > iouring, but probably a bit more work than using a new syscall. > > > > Yep > > I thought I was explicitly asking if adding SPLICE_F_ZC and plumbing > through the error queue notifications was OK and your response here > ("Yep") suggested to me that it would be a suitable path to > consider. > > I take it from your other responses, though, that I was mistaken. I guess I missed your error queue thing here, I was definitely pretty clear in other ones that I consider that part a hack and something that only exists because networking never looked into doing a proper async API for anything. -- Jens Axboe