Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D561418758 for ; Sat, 6 Feb 2016 00:33:47 +0000 (UTC) Received: (qmail 89994 invoked by uid 500); 6 Feb 2016 00:33:47 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 89934 invoked by uid 500); 6 Feb 2016 00:33:47 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 89924 invoked by uid 99); 6 Feb 2016 00:33:47 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Feb 2016 00:33:47 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id B888AC094E for ; Sat, 6 Feb 2016 00:33:46 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.821 X-Spam-Level: X-Spam-Status: No, score=-0.821 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=visualsvn.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 6HVi2oerERE3 for ; Sat, 6 Feb 2016 00:33:45 +0000 (UTC) Received: from mail-ig0-f169.google.com (mail-ig0-f169.google.com [209.85.213.169]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id C94F531AA9 for ; Sat, 6 Feb 2016 00:33:44 +0000 (UTC) Received: by mail-ig0-f169.google.com with SMTP id rs20so52746236igc.0 for ; Fri, 05 Feb 2016 16:33:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visualsvn.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=aQuzCMovpg/R8ts3Eh91kB9QPO31BkPvRgchUJJ7+HI=; b=DqxqnW1Ive2BbAoAH1Xz1nLzh34iuHVckUacwJwpIxxEybKjsALrIxLAt5S/o3m+0p ocYvwEjUihrO0QJQNayRSaYbgVvTZdSNJ+3u2mTgS/C+ZGSD3hzPnA8KlcDVgnCtHym8 KLhMT/yOscLSs6L2yqqJOSz7OavAwdjBFjouY= 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:from:date :message-id:subject:to:cc:content-type; bh=aQuzCMovpg/R8ts3Eh91kB9QPO31BkPvRgchUJJ7+HI=; b=RGbIlmc5B/ZqOz1HuvMXzOy2X1W1tvnsomOQN3rXxSY5Y1zatX5/oyuc8sgCct/CR5 8eS50OHtj5VTjUTM4DyAXNHwuny1uaA4Iwsu86FdvW853aT47luOw5i6H78W1dsZpEW/ Ldcb62h46pUuDY7SNJR0SRj+eLgpT3YJ6WdRk8MlvhE9ls4pHkjUYcUABslYaCgGiXl6 rfXMWCjbpZNlrpos/S10B2whgvlY4UhkVuKWaDca6XPe/FSA8zetjZvE2Ld0fDgIk/uV ne1lYfHBBB2Fd6qsaj3t4dZRX2cxk/pZF1T19Qr7ZVqfswNSQbcMSO5awWEJtKOrTazQ w8VQ== X-Gm-Message-State: AG10YOTfgxvdZR8FmLlqmWiqxQOGgUMRch5zJz/rfknqSjaHOyW/92WBzejxHnUYuAEADRMjwF/pY99zs/N0xxZM X-Received: by 10.50.8.42 with SMTP id o10mr3653465iga.59.1454718823763; Fri, 05 Feb 2016 16:33:43 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.128.227 with HTTP; Fri, 5 Feb 2016 16:33:24 -0800 (PST) In-Reply-To: <967401d158fb$4b9e34b0$e2da9e10$@qqmail.nl> References: <20160109185849.04B593A0056@svn01-us-west.apache.org> <967401d158fb$4b9e34b0$e2da9e10$@qqmail.nl> From: Evgeny Kotkov Date: Sat, 6 Feb 2016 03:33:24 +0300 Message-ID: Subject: Re: svn commit: r1723876 - in /subversion/branches/fs-node-api/subversion: include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs/node_compat.c libsvn_fs_fs/node.c To: Bert Huijben Cc: Subversion Development Content-Type: text/plain; charset=UTF-8 Bert Huijben writes: > The more interesting question is: what is the status of this branch? > > I would like to see this merged to trunk, unless there are some new problems. (Sorry for the delay in response.) I think that the new API makes sense by itself, and could be useful. But we didn't see any noticeable performance improvement from switching to it. Although the server does less work, the actual numbers are only less by a few percent. I plan to switch the last remaining callers in reporter.c to the new API, and then we can decide on what to do next. > I would say the relation is +-: > > Fs -> root -> node. > > In that case I would say the node should hold a pointer to root (which > already holds a pointer to fs). > > Why add a direct pointer 2 levels up, when the step via root is more > obvious and probably already available. > > (This is all about the member variable... I don't see a problem with the > accessor function. It might not be needed later on after more cleanup as > callers most likely already have all/most these pointers itself) A node is detached from the particular root. The reason behind this is that a root can be explicitly deallocated with svn_fs_close_root() (that's what the reporter does when it keeps a fixed size LRU cache for open roots), and this approach avoids having a node possibly referring to a deallocated svn_fs_root_t. As for the member variable, I think that we can replace it with a vtable accessor, since we do have the information about svn_fs_t on lower layers. Regards, Evgeny Kotkov