From owner-freebsd-arch@freebsd.org Wed Jan 27 03:17:34 2016 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3539A6FC55 for ; Wed, 27 Jan 2016 03:17:34 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id B6827129B for ; Wed, 27 Jan 2016 03:17:34 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id B48BEA6FC54; Wed, 27 Jan 2016 03:17:34 +0000 (UTC) Delivered-To: arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B42A5A6FC53 for ; Wed, 27 Jan 2016 03:17:34 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x236.google.com (mail-ig0-x236.google.com [IPv6:2607:f8b0:4001:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 816B3129A; Wed, 27 Jan 2016 03:17:34 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-ig0-x236.google.com with SMTP id z14so74408750igp.1; Tue, 26 Jan 2016 19:17:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=1UHAjXEnM0GBuHjIWYfLMvHXybPoVj8/61NS+/55vIY=; b=jwLXKOR+f8fCYJEOKx8cLSppEG6f5lHyZIMuNL2rPYUAE29Kv6Q8MTZpay3DZqoQJr frze92FccjOi0l74UiyqPxip+Kxm+VHrMtQp5O1fMsrJEd1qutaRCt1Iut5nOBM5r9fc R6JpJROJhDcSd2OmdAvvzRF2DjB2S503NTLRhCgGigXX8tN1uDDsbwX+OuX74ab0V0ms +iKzwsPHAwcMInQ+MJjkMUzzxJnw1YRU+wy9LmJD8q58FkXrdHdoz/32iu37Bn7F2IUI jYvEF7nVKvatbzOD4Lnhr+HI5NN3d8XiksCOQ3yiI+PoN6gSyMRTtTJUHqtEcqdSEhMT 1Jug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=1UHAjXEnM0GBuHjIWYfLMvHXybPoVj8/61NS+/55vIY=; b=G01QkbCHpFWiIm39mL6J4Q3CdqMlcDIG7a/ifkKN0Phji3UemYd4hmc04EYEsxfJdL 98aJ2Wij3R2yZBh3Lo/Qz4FMjW6PMC5Rtg1QqGvlUbgn+UA6ndr6Mmu/HKU2Bx56t7z2 SKH7wfZnyLejoICrGR6R5TDz6mAz2e37o3F8Q/j8F1+ZzVZnSmovenWu5+t1v1KV6jgY l/2tbc+pf9VCoTUF/zN5IGOQ/TFMiKyyjgMH0dUWFRcl/T4UINxWucBPYlu26eYb6BlL Wf7+191bZThAglnqr2SZ11Zif4OIpZXWvvApnhJ4lfZ8WefLJtF86zjuv5do5wHS2oFW yCdw== X-Gm-Message-State: AG10YOQ35Uv/oqCu6TOJdtHkCYT4lO+Qo10VDGnymfQXZCwMXRPNRxHK9m9FCI/eUBr8E4NXhyJatGihLdB0vQ== MIME-Version: 1.0 X-Received: by 10.50.137.41 with SMTP id qf9mr25255801igb.22.1453864653946; Tue, 26 Jan 2016 19:17:33 -0800 (PST) Received: by 10.36.121.16 with HTTP; Tue, 26 Jan 2016 19:17:33 -0800 (PST) In-Reply-To: <2793494.0Z1kBV82mT@ralph.baldwin.cx> References: <2793494.0Z1kBV82mT@ralph.baldwin.cx> Date: Tue, 26 Jan 2016 19:17:33 -0800 Message-ID: Subject: Re: Refactoring asynchronous I/O From: Adrian Chadd To: John Baldwin Cc: "freebsd-arch@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jan 2016 03:17:35 -0000 On 26 January 2016 at 17:39, John Baldwin wrote: [snip] > > Note that binding the AIO support to a new fileop does mean that the AIO code > now becomes mandatory (rather than optional). We could perhaps make the > system calls continue to be optional if people really need that, but the guts > of the code will now need to always be in the kernel. > > I'd like to hear what people think of this design. It needs some additional > cleanup before it is a commit candidate (and I'll see if I can't split it up > some more if we go this route). So this doesn't change the direct dispatch read/write to a block device, right? That strategy path is pretty damned cheap. Also, why's it become mandatory? I thought we had support for optional fileops... -a