linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.com>
To: Oleg Drokin <oleg.drokin@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	James Simmons <jsimmons@infradead.org>,
	Andreas Dilger <andreas.dilger@intel.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Lustre Development List <lustre-devel@lists.lustre.org>
Subject: [PATCH 00/17] staging: remove requirement that lustre be built as module
Date: Fri, 02 Mar 2018 10:31:25 +1100	[thread overview]
Message-ID: <151994679573.7628.1024109499321778846.stgit@noble> (raw)

The main focus on this series is to remove the requirement that
lustre be built as a module.  The involves moving some initialization
out of the module_init functions and putting it elsewhere.

This lead me to look at various kthreads that are used, resulting is
some of them being changed to simpler work-queues.

Lustre has a 'struct ptlrpc_thread' data structure which appears to
have been created to manage the multiple threads for ptlrpcd - and it
does this quite effectively.
It was also used for managing a few other threads, and it was much
less suitable for these.  Those which haven't been changed to
workqueues have been changed to use kthread interfaces directly.

There are also a few bug-fixes and minor clean-ups.

This series doesn't introduce any new failures in the 'sanity' test
suite.

Thanks,
NeilBrown


---

NeilBrown (17):
      staging: lustre: obd_mount: use correct niduuid suffix.
      staging: lustre: fix bug in osc_enter_cache_try
      staging: lustre: statahead: remove incorrect test on agl_list_empty()
      staging: lustre: obdclass: don't require lct_owner to be non-NULL.
      staging: lustre: lnet: keep ln_nportals consistent
      staging: lustre: get entropy from nid when nid set.
      staging: lustre: ptlrpc: change GFP_NOFS to GFP_KERNEL
      staging: lustre: obdclass: use workqueue for zombie management.
      staging: lustre: ldlm: use delayed_work for pools_recalc
      staging: lustre: ptlrpc: use delayed_work in sec_gc
      staging: lustre: ptlrpc: use workqueue for pinger
      staging: lustre: remove unused flag from ptlrpc_thread
      staging: lustre: remove 'ptlrpc_thread usage' for sai_agl_thread
      staging: lustre: change sai_thread to sai_task.
      staging: lustre: ptlrpc: move thread creation out of module initialization
      staging: lustre: allow monolithic builds
      Revert "staging: Disable lustre file system for MIPS, SH, and XTENSA"


 drivers/staging/lustre/lnet/Kconfig                |    2 
 drivers/staging/lustre/lnet/lnet/api-ni.c          |    7 +
 drivers/staging/lustre/lnet/lnet/lib-ptl.c         |    5 -
 drivers/staging/lustre/lustre/Kconfig              |    1 
 .../staging/lustre/lustre/include/lustre_export.h  |    2 
 .../staging/lustre/lustre/include/lustre_import.h  |    4 
 drivers/staging/lustre/lustre/include/lustre_net.h |   14 -
 drivers/staging/lustre/lustre/include/obd.h        |    2 
 drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c    |   12 +
 drivers/staging/lustre/lustre/ldlm/ldlm_pool.c     |   99 +---------
 .../staging/lustre/lustre/llite/llite_internal.h   |    4 
 drivers/staging/lustre/lustre/llite/llite_lib.c    |   18 ++
 drivers/staging/lustre/lustre/llite/statahead.c    |  197 ++++++++------------
 drivers/staging/lustre/lustre/llite/super25.c      |   17 --
 drivers/staging/lustre/lustre/obdclass/genops.c    |  193 ++------------------
 drivers/staging/lustre/lustre/obdclass/lu_object.c |    7 -
 drivers/staging/lustre/lustre/obdclass/obd_mount.c |    2 
 drivers/staging/lustre/lustre/osc/osc_cache.c      |    2 
 drivers/staging/lustre/lustre/ptlrpc/pinger.c      |   81 ++------
 .../staging/lustre/lustre/ptlrpc/ptlrpc_module.c   |   56 ++++--
 drivers/staging/lustre/lustre/ptlrpc/sec.c         |    6 -
 drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c    |    2 
 drivers/staging/lustre/lustre/ptlrpc/sec_gc.c      |   90 +++------
 drivers/staging/lustre/lustre/ptlrpc/service.c     |    4 
 24 files changed, 259 insertions(+), 568 deletions(-)

--
Signature

             reply	other threads:[~2018-03-01 23:31 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-01 23:31 NeilBrown [this message]
2018-03-01 23:31 ` [PATCH 06/17] staging: lustre: get entropy from nid when nid set NeilBrown
2018-03-08  0:19   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 02/17] staging: lustre: fix bug in osc_enter_cache_try NeilBrown
2018-03-07 20:51   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 03/17] staging: lustre: statahead: remove incorrect test on agl_list_empty() NeilBrown
2018-03-07 21:08   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 07/17] staging: lustre: ptlrpc: change GFP_NOFS to GFP_KERNEL NeilBrown
2018-03-08  0:20   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 17/17] Revert "staging: Disable lustre file system for MIPS, SH, and XTENSA" NeilBrown
2018-03-09  0:37   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 13/17] staging: lustre: remove 'ptlrpc_thread usage' for sai_agl_thread NeilBrown
2018-03-09  0:12   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 14/17] staging: lustre: change sai_thread to sai_task NeilBrown
2018-03-09  0:20   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 05/17] staging: lustre: lnet: keep ln_nportals consistent NeilBrown
2018-03-07 21:24   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 08/17] staging: lustre: obdclass: use workqueue for zombie management NeilBrown
2018-03-08  0:27   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 12/17] staging: lustre: remove unused flag from ptlrpc_thread NeilBrown
2018-03-08 23:54   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 01/17] staging: lustre: obd_mount: use correct niduuid suffix NeilBrown
2018-03-07 20:49   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 16/17] staging: lustre: allow monolithic builds NeilBrown
2018-03-09  0:32   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 09/17] staging: lustre: ldlm: use delayed_work for pools_recalc NeilBrown
2018-03-08 19:22   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 04/17] staging: lustre: obdclass: don't require lct_owner to be non-NULL NeilBrown
2018-03-07 21:10   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 11/17] staging: lustre: ptlrpc: use workqueue for pinger NeilBrown
2018-03-08 23:53   ` Dilger, Andreas
2018-03-11 21:37     ` NeilBrown
2018-03-01 23:31 ` [PATCH 15/17] staging: lustre: ptlrpc: move thread creation out of module initialization NeilBrown
2018-03-09  0:31   ` Dilger, Andreas
2018-03-01 23:31 ` [PATCH 10/17] staging: lustre: ptlrpc: use delayed_work in sec_gc NeilBrown
2018-03-08 19:23   ` Dilger, Andreas

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=151994679573.7628.1024109499321778846.stgit@noble \
    --to=neilb@suse.com \
    --cc=andreas.dilger@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jsimmons@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lustre-devel@lists.lustre.org \
    --cc=oleg.drokin@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).