From owner-freebsd-net@FreeBSD.ORG Tue Feb 24 11:37:12 2015 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5F659384 for ; Tue, 24 Feb 2015 11:37:12 +0000 (UTC) Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) (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 ECACF982 for ; Tue, 24 Feb 2015 11:37:10 +0000 (UTC) Received: by mail-wi0-f175.google.com with SMTP id r20so24763514wiv.2 for ; Tue, 24 Feb 2015 03:37:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-type; bh=S1C2CTgDdukj20VJDWE1uePHz8BqX9IjEBzkfyQd1vQ=; b=MvX4AiDuWOIQmF5shv+HJ+2/G/nymV3OftdmP2DUSMbujf2bBy/feGUwq+GLMdL1tN JWAs6pj7kCRtxJF2iVBzk9gvCKXIz1Q7xfaQt9tuOftKFiBxxnYkLM7t+MoO54r3l6uu A4jxqSlsx2xiGv95s7d//fE9OLRyd1+2Q6hb9K9NG85iwl59P/OnD+NA7qS+ND+Prwab O8barB+33H9buZS/diW2Fa7ji7IiKyBV90CHPWWXp+s4oJ8moku1aUaeMvX2DWRp2lac Ga/Abr4T5jiJ2FTj39gjZqXZPVOia2I6PYTqg73KJxfvaglvlqJjUTO3398n5S0CHg1s VlCg== X-Gm-Message-State: ALoCoQlDytqeYMFFMMLnKpbtuPRWZQtt1SvC2hUQxxrI69Nu0qNGPY90BOw50221UXIJ2BX9MbH6 X-Received: by 10.181.8.103 with SMTP id dj7mr29545429wid.75.1424777826965; Tue, 24 Feb 2015 03:37:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.27.143.19 with HTTP; Tue, 24 Feb 2015 03:36:46 -0800 (PST) From: Tim Borgeaud Date: Tue, 24 Feb 2015 11:36:46 +0000 Message-ID: Subject: NFS: kernel modules (loading/unloading) and scheduling To: freebsd-net@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: Mark Hills X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 11:37:12 -0000 Hi FreeBSD folks, here at Framestore Mark Hills (cc'd) has been looking at how NFS servers schedule/prioritize incoming requests with a view towards a client/user 'fair share' of a service. We are taking a look at trying out some simple approaches of queuing up and handling requests. There are, obviously, various matters to deal with here, and several complications. However, an initial consideration is how we might best develop and test with the FreeBSD kernel code. Specifically, whether we would be able to unload and reload NFS related kernel modules, or whether there are any other alternatives. It looks like there are several modules involved such as krpc, nfssvc, nfscommon, nfslock, which we can build outside of the kernel itself, but which do not all support unloading. Not being able to reload a module does seem to present a hurdle to development and, therefore, I'd like to know how FreeBSD developers have managed development of the NFS functionality and what approaches may be recommended. It occurs to me that it would be possible for us to consider adding some ability to unload some of these modules, even if it were not suitable for anything other than development. Therefore, an extension of my main, more general, query is to ask how straightforward or fundamentally difficult this may be (for the NFS modules)? Thanks very much -- Tim Borgeaud Systems Developer =E2=80=8BFramestore