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, 21 Jun 2018 12:54:58 +1000 [thread overview]
Message-ID: <87r2l0df25.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <alpine.LFD.2.21.1806210239190.3886@casper.infradead.org>
On Thu, Jun 21 2018, James Simmons wrote:
>> Here are a bunch more cleanups that will appear in my lustre-testing
>> tree shortly.
>>
>> The interesting stuff is some enhancements to kbuild to let us
>> build modules from multiple directories.
>> I've used that to clean up the build of ptlrpc+ldlm and to
>> merge libcfs and lnet into the one module - I've left the lnds
>> separate.
>
> That looks pretty good. It doesn't apply to the stable lustre tree but I
> did try it out on lustre-testing. The module building does seem to
> function well. Only thing not clear is if do a
>
> make SUBDIRS=drivers/staging/lustre/lustre/lmv modules
Why would you do that? SUBDIRS= is for building external modules.
What are you trying to achieve?
>
> do lmv.a and the other *.a files get relinked int lustre.ko ?
It isn't "lmv.a", it is ".../lustre/lmv/mod.a".
>
>> I've haven't progressed further in lustre because I'm not sure which -
>> if any - modules are also used by the server.
>> I'd rather shared code was in a separate module to client-only.
>>
>> Which parts of lustre/lustre/* are also used by server?
>
> Basically all the client code is reused on the server except for llite.
> The reason is each server type MDS, MGS, or OSS is treated as a client
> to each other. So in affect the server code is a middle layer level on
> top of the client code.
>
>> After that, it is all fairly simple cleanups.
>>
>> I plan to submit the kbuild stuff upstream next week.
>>
>> Thanks,
>> NeilBrown
>>
>> ---
>>
>> NeilBrown (24):
>> kbuild: detect directories in components of a module.
>> kbuild: treat a directory listed in a composite object as foo/mod.a
>> kbuild: support building of per-directory mod.a
>> kbuild: disable KBUILD_MODNAME when building for mod.a
>> kbuild: Add documentation for modobj-m
>> lustre: build ldlm in the ldlm directory.
>> lustre: merge libcfs module into lnet.
>
> This seems to work when I tried the lustre-testing tree. I did see
> regression to related to this work in that tree.
>
>> lustre: use truncate_inode_page in place of truncate_complete_page
>> lustre: don't use spare bits in iattr.ia_valid
>> lustre: remove lustre_patchless_compat.h
>> lustre: discard current_n*groups macros.
>> lustre: discard LTIME_S macro
>> lustre: discard NO_QUOTA and QUOTA_OK
>> lustre: discard ext2* bit operations
>> lustre: centralize TIMES_SET_FLAGS
>> lustre: remove redefinition of module_init().
>> lustre: remove lustre_compat.h
>
> The first two patches of the above seem to break things. The first one was
> pointed out so I avoid issues in my testing by changing the patch to just
> move truncate_inode_page() to lustre_mdc.h for now. The next patch does
> break things.
Can you be specific about what things (or just one thing) that the next
patch breaks? I haven't seen anything in my testing.
The only problem I've seen is that kvmalloc(GFP_NOFS) has been changed to
silently become kmalloc(GFP_NOFS) so there are memory allocation
problems.
>
>> lustre/lnet: move tracefile locking from linux-tracefile.c to tracefile.c
>> lustre: open code cfs_trace_max_debug_mb() into cfs_trace_set_debug_mb()
>> lustre: move tcd locking across to tracefile.c
>> lustre: move remainder of linux-tracefile.c to tracefile.c
>> lustre: fold cfs_tracefile_*_arch into their only callers.
>> lustre: renamed CFS_TCD_TYPE_MAX to CFS_TCD_TYPE_CNT
>> lustre: discard TCD_MAX_TYPES
>
> I see breakage in this code as well.
Specifically??...
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/20180621/ed188aeb/attachment.sig>
next prev parent reply other threads:[~2018-06-21 2:54 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 02/24] kbuild: treat a directory listed in a composite object as foo/mod.a NeilBrown
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 22/24] lustre: fold cfs_tracefile_*_arch into their only callers NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 15/24] lustre: centralize TIMES_SET_FLAGS 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 05/24] kbuild: Add documentation for modobj-m 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 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 04/24] kbuild: disable KBUILD_MODNAME when building for mod.a 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 11/24] lustre: discard current_n*groups macros 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 17/24] lustre: remove lustre_compat.h 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 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 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 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 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 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 07/24] lustre: merge libcfs module into lnet 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
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 [this message]
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=87r2l0df25.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