From: NeilBrown <neilb@suse.com>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] [PATCH 00/24] lustre - more cleanups including module reduction.
Date: Thu, 28 Jun 2018 11:59:05 +1000 [thread overview]
Message-ID: <87tvpn6592.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <DM3PR1101MB12132AC3E33E7D7C8FBE4536CB480@DM3PR1101MB1213.namprd11.prod.outlook.com>
On Wed, Jun 27 2018, Patrick Farrell wrote:
> Neil,
>
> We do indeed have such functionality (it?s called DVS and it?s
> basically a high speed file system projection framework, ala NFS but
> faster), so the ability to build lnet separately is valuable to us.
> While it is being open sourced under the GPL, I don?t think there?s
> any intention to try to upstream it. The current code isn?t even
> usable off of Cray systems as it depends on info from user space (that
> is provided, in the end, from Cray proprietary hardware) to keep its
> connection/routing tables up to date. That?s supposedly in the
> pipeline to get fixed, but it?s still pretty far from generally
> usable.
>
> But we?d still really appreciate it if lnet stayed separate. Don?t
> know if that?s enough for you - I know sometimes *small* stuff is done
> for out of tree users. Hopefully this meets that standard.
>
Ahh - DVS. That answers a question I just asked in another email.
My google-skills don't seem to be up to locating the source code though
:-(
While I wouldn't knowingly break an interface used by some out-of-tree
code without good reason, it is hard to avoid if you don't know what the
out-of-tree code does. It can be very tempting to remove something that
isn't being used, but that can certainly hurt out-of-tree code
sometimes.
A particular example I'm exploring at present is the dual data paths in
LNet. Or maybe it is dual types of Memory Descriptors.
There is 'kiov' which uses kernel-virtual addresses and 'iovec' which
uses page+offset.
The kiov option isn't used in the client code and it seems likely that
the server-side code could be converted to use iovec without problems.
I'd like to remove the kiov as I wouldn't be able to justify its
existence when submitting the client-only code upstream. But I don't
want to remove the option of having an alternate MD type if it really is
significantly more efficient in some context.
If I know whether DVS used kiov or iovec - and in what way - that would
help me to know if I might break something, and to be able to assess the
cost.
In my mind, the "standard" that you mention is always about
practicality. Code needs to be maintainable - easy to understand and
hard to break. If the LNet interface is clean and well documented in
the kernel, then I don't see why we would not at least attempt to
preserve it.
Thanks,
NeilBrown
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20180628/d261f326/attachment-0001.sig>
next prev parent reply other threads:[~2018-06-28 1:59 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-15 7:11 [lustre-devel] [PATCH 00/24] lustre - more cleanups including module reduction NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 04/24] kbuild: disable KBUILD_MODNAME when building for mod.a NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 24/24] lustre: discard TCD_MAX_TYPES NeilBrown
2018-06-21 1:38 ` James Simmons
2018-06-21 4:28 ` NeilBrown
2018-06-24 20:37 ` James Simmons
2018-06-24 23:26 ` NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 21/24] lustre: move remainder of linux-tracefile.c to tracefile.c NeilBrown
2018-06-21 1:37 ` James Simmons
2018-06-22 3:19 ` NeilBrown
2018-06-24 20:29 ` James Simmons
2018-06-24 23:25 ` NeilBrown
2018-06-25 21:52 ` James Simmons
2018-06-15 7:11 ` [lustre-devel] [PATCH 14/24] lustre: discard ext2* bit operations NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 16/24] lustre: remove redefinition of module_init() NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 22/24] lustre: fold cfs_tracefile_*_arch into their only callers NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 17/24] lustre: remove lustre_compat.h NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 08/24] lustre: use truncate_inode_page in place of truncate_complete_page NeilBrown
2018-06-16 0:17 ` James Simmons
2018-06-16 0:52 ` NeilBrown
2018-06-16 0:59 ` Oleg Drokin
2018-06-18 2:03 ` NeilBrown
2018-06-25 0:02 ` [lustre-devel] [PATCH 1/3] lustre: use generic_error_remove_page() NeilBrown
2018-06-25 0:02 ` [lustre-devel] [PATCH 2/3] lustre: use delete_from_page_cache() for directory pages NeilBrown
2018-06-25 0:03 ` [lustre-devel] [PATCH 3/3] lustre: discard truncate_complete_page() NeilBrown
2018-06-26 0:19 ` James Simmons
2018-06-25 0:38 ` [lustre-devel] [PATCH 2/3] lustre: use delete_from_page_cache() for directory pages Oleg Drokin
2018-06-26 0:18 ` James Simmons
2018-06-25 0:38 ` [lustre-devel] [PATCH 1/3] lustre: use generic_error_remove_page() Oleg Drokin
2018-06-25 1:57 ` NeilBrown
2018-06-26 0:26 ` James Simmons
2018-06-26 0:14 ` James Simmons
2018-06-15 7:11 ` [lustre-devel] [PATCH 13/24] lustre: discard NO_QUOTA and QUOTA_OK NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 23/24] lustre: renamed CFS_TCD_TYPE_MAX to CFS_TCD_TYPE_CNT NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 11/24] lustre: discard current_n*groups macros NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 20/24] lustre: move tcd locking across to tracefile.c NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 02/24] kbuild: treat a directory listed in a composite object as foo/mod.a NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 01/24] kbuild: detect directories in components of a module NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 18/24] lustre/lnet: move tracefile locking from linux-tracefile.c to tracefile.c NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 09/24] lustre: don't use spare bits in iattr.ia_valid NeilBrown
2018-06-21 1:35 ` James Simmons
2018-06-21 4:19 ` NeilBrown
2018-06-22 2:23 ` NeilBrown
2018-06-24 20:33 ` James Simmons
2018-06-24 23:50 ` NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 05/24] kbuild: Add documentation for modobj-m NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 12/24] lustre: discard LTIME_S macro NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 03/24] kbuild: support building of per-directory mod.a NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 06/24] lustre: build ldlm in the ldlm directory NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 07/24] lustre: merge libcfs module into lnet NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 10/24] lustre: remove lustre_patchless_compat.h NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 19/24] lustre: open code cfs_trace_max_debug_mb() into cfs_trace_set_debug_mb() NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 15/24] lustre: centralize TIMES_SET_FLAGS NeilBrown
2018-06-21 1:48 ` [lustre-devel] [PATCH 00/24] lustre - more cleanups including module reduction James Simmons
2018-06-21 2:29 ` Patrick Farrell
2018-06-21 2:57 ` James Simmons
2018-06-21 7:22 ` Andreas Dilger
2018-06-21 12:28 ` Patrick Farrell
2018-06-24 20:35 ` James Simmons
2018-06-24 23:40 ` NeilBrown
2018-06-26 1:13 ` James Simmons
2018-06-26 13:51 ` Patrick Farrell
2018-06-27 3:08 ` NeilBrown
2018-06-27 4:00 ` Cory Spitz
2018-06-28 1:26 ` NeilBrown
2018-06-27 11:01 ` Andreas Dilger
2018-06-27 12:06 ` Patrick Farrell
2018-06-28 1:59 ` NeilBrown [this message]
2018-06-28 2:35 ` Patrick Farrell
2018-06-28 23:12 ` Andreas Dilger
2018-07-05 23:47 ` James Simmons
2018-07-06 0:01 ` Doug Oucharek
2018-06-28 15:03 ` Cory Spitz
2018-06-28 17:03 ` Doug Oucharek
2018-07-04 17:54 ` Alexey Lyashkov
2018-06-28 1:39 ` NeilBrown
2018-06-21 3:00 ` NeilBrown
2018-06-21 3:42 ` Patrick Farrell
2018-06-24 20:39 ` James Simmons
2018-06-21 2:54 ` NeilBrown
2018-06-24 20:46 ` James Simmons
2018-06-24 23:58 ` NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tvpn6592.fsf@notabene.neil.brown.name \
--to=neilb@suse.com \
--cc=lustre-devel@lists.lustre.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox