On Jul 11, 2013, at 11:48 AM, Konstantin Belousov <kostikbel_at_gmail.com> wrote: > On Thu, Jul 11, 2013 at 11:44:32AM -0700, Scott Long wrote: >> >> On Jul 10, 2013, at 11:17 PM, Konstantin Belousov <kostikbel_at_gmail.com> wrote: >> >>> On Wed, Jul 10, 2013 at 04:36:23PM -0700, Adrian Chadd wrote: >>>> Hiya, >>>> >>>> I've started writing an aio_sendfile() syscall. >>>> >>>> http://people.freebsd.org/~adrian/ath/20130710-aio-sendfile-3.diff >>>> >>>> Yes, the diff is against -HEAD and not stable/9. >>>> >>>> It's totally horrible, hackish and likely bad. I've only done some >>>> very, very basic testing to ensure it actually works; i haven't at all >>>> stress tested it out yet. It's also very naive - I'm not at all doing >>>> any checks to see whether I can short-cut to do the aio there and >>>> then; I'm always queuing the sendfile() op through the worker threads. >>>> That's likely stupid and inefficient in a lot of cases, but it at >>>> least gets the syscall up and working. >>> Yes, it is naive, but for different reason. >>> >>> The kern_sendfile() is synchronous function, it only completes after >>> the other end of the network communication allows it. This means >>> that calling kern_sendfile() from the aio thread blocks the thread >>> indefinitely by unbounded sleep. >> >> >> No, kern_sendfile is async unless you specify the SF_SYNC hack flag. >> Otherwise, it'll fill the socket buffer and then return immediately, unless >> the socket buffer is full and the socket is set to blocking mode. That's >> outside the scope, as I said in my previous email. > > You do not understand what I said, please re-read both my mail and code > before replying. Implementing aio_sendfile() as proposed would create > yet another possibility of indefinitely block all processes using aio. I'm lost, maybe I missed some emails? I see a set of emails where you incorrectly state that kern_sendfile() will always call sbwait(), and then you backtrack on that and claim that it's unacceptable to enforce that SS_NBIO be used for aio operations. I apologize if I'm missing something here. ScottReceived on Thu Jul 11 2013 - 17:04:59 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:39 UTC