public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 00/58] LightNVM updates for 4.15
@ 2017-10-13 12:45 Matias Bjørling
  2017-10-13 12:45 ` [GIT PULL 01/58] lightnvm: prevent target type module removal when in use Matias Bjørling
                   ` (58 more replies)
  0 siblings, 59 replies; 65+ messages in thread
From: Matias Bjørling @ 2017-10-13 12:45 UTC (permalink / raw)
  To: axboe; +Cc: linux-block, linux-kernel, Matias Bjørling

Hi Jens,

A couple of patches for 4.15.

Javier has improved garbage collection, statistics, memory pool usage,
and added support for single LUN configurations. He also made a lot of
bug fixes and cleanup patches.

Rakesh have been fixing up a lot of subsystem bugs with respect to
loading and unloading pblk, cleanup of memory pools, and a couple of
fixes spread across the lightnvm subsystem and pblk.

Hans has been looking into garbage collection, and shutting it
down gracefully when pblk is unloaded.

Please pull from the for-4.15/for-jens branch or apply the patches
posted with this thread:

   https://github.com/OpenChannelSSD/linux.git for-4.15/for-jens

Thanks,
Matias

Hans Holmberg (10):
  lightnvm: pblk: prevent gc kicks when gc is not operational
  lightnvm: pblk: recover partially written lines correctly
  lightnvm: pblk: free full lines during recovery
  lightnvm: pblk: start gc if needed during init
  lightnvm: pblk: consider bad sectors in emeta during recovery
  lightnvm: pblk: shut down gc gracefully during exit
  lightnvm: pblk: add l2p crc debug printouts
  lightnvm: pblk: gc all lines in the pipeline before exit
  lightnvm: pblk: correct valid lba count calculation
  lightnvm: pblk: remove spinlock when freeing line metadata

Javier González (31):
  lightnvm: pblk: initialize debug stat counter
  lightnvm: pblk: use right flag for GC allocation
  lightnvm: pblk: free padded entries in write buffer
  lightnvm: pblk: fix write I/O sync stat
  lightnvm: pblk: avoid deadlock on low LUN config
  lightnvm: pblk: fix min size for page mempool
  lightnvm: pblk: simplify work_queue mempool
  lightnvm: pblk: decouple read/erase mempools
  lightnvm: pblk: do not use a mempool for line bitmaps
  lightnvm: pblk: remove checks on mempool alloc.
  lightnvm: pblk: use constant for GC max inflight
  lightnvm: pblk: normalize ppa namings
  lightnvm: pblk: refactor read lba sanity check
  lightnvm: pblk: simplify data validity check on GC
  lightnvm: pblk: refactor read path on GC
  lightnvm: pblk: put bio on bio completion
  lightnvm: pblk: simplify path on REQ_PREFLUSH
  lightnvm: pblk: allocate bio size more accurately
  lightnvm: pblk: improve naming for internal req.
  lightnvm: pblk: refactor rqd alloc/free
  lightnvm: pblk: use rqd->end_io for completion
  lightnvm: pblk: check lba sanity on read path
  lightnvm: pblk: guarantee line integrity on reads
  lightnvm: pblk: remove redundant check on read path
  lightnvm: pblk: remove I/O dependency on write path
  lightnvm: pblk: enable 1 LUN configuration
  lightnvm: pblk: ensure right bad block calculation
  lightnvm: pblk: cleanup unused and static functions
  lightnvm: pblk: avoid being reported as hung on rated GC
  lightnvm: fail fast on passthrough commands
  lightnvm: implement generic path for sync I/O

Rakesh Pandit (17):
  lightnvm: prevent target type module removal when in use
  lightnvm: prevent bd removal if busy
  lightnvm: protect target type list with correct locks
  lightnvm: remove already calculated nr_chnls
  lightnvm: pblk: fix error path in pblk_lines_alloc_metadata
  lightnvm: include NVM Express driver if OCSSD is selected for build
  lightnvm: pblk: protect line bitmap while submitting meta io
  lightnvm: pblk: fix message if L2P MAP is in device
  lightnvm: pblk: improve error message if down_timeout fails
  lightnvm: pblk: print incompatible line version correctly
  lightnvm: pblk: reuse pblk_gc_should_kick
  lightnvm: pblk: fix changing GC group list for a line
  lightnvm: pblk: remove useless line
  lightnvm: remove unused argument from nvm_set_tgt_bb_tbl
  lightnvm: remove stale extern and unused exported symbols
  lightnvm: pblk: reduce arguments in __pblk_rb_update_l2p
  lightnvm: pblk: fix releases of kmem cache in error path

 drivers/lightnvm/Kconfig         |   3 +-
 drivers/lightnvm/core.c          | 190 +++++++-------
 drivers/lightnvm/pblk-cache.c    |  24 +-
 drivers/lightnvm/pblk-core.c     | 516 ++++++++++++++++++++-------------------
 drivers/lightnvm/pblk-gc.c       | 311 ++++++++++++-----------
 drivers/lightnvm/pblk-init.c     | 197 +++++++++------
 drivers/lightnvm/pblk-map.c      |  28 ++-
 drivers/lightnvm/pblk-rb.c       |  30 +--
 drivers/lightnvm/pblk-read.c     | 274 ++++++++++++---------
 drivers/lightnvm/pblk-recovery.c | 131 ++++------
 drivers/lightnvm/pblk-rl.c       |  43 +---
 drivers/lightnvm/pblk-sysfs.c    |   2 +-
 drivers/lightnvm/pblk-write.c    | 229 +++++++----------
 drivers/lightnvm/pblk.h          | 137 +++++++----
 drivers/nvme/host/lightnvm.c     |  72 ++++--
 include/linux/lightnvm.h         |  11 +-
 16 files changed, 1172 insertions(+), 1026 deletions(-)

-- 
2.9.3

^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2017-10-16 15:14 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-13 12:45 [GIT PULL 00/58] LightNVM updates for 4.15 Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 01/58] lightnvm: prevent target type module removal when in use Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 02/58] lightnvm: prevent bd removal if busy Matias Bjørling
2017-10-13 14:58   ` Christoph Hellwig
2017-10-13 15:35     ` Rakesh Pandit
2017-10-13 15:58       ` Javier González
2017-10-14  6:04         ` Javier González
2017-10-16 15:14       ` Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 03/58] lightnvm: protect target type list with correct locks Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 04/58] lightnvm: remove already calculated nr_chnls Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 05/58] lightnvm: pblk: fix error path in pblk_lines_alloc_metadata Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 06/58] lightnvm: include NVM Express driver if OCSSD is selected for build Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 07/58] lightnvm: pblk: protect line bitmap while submitting meta io Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 08/58] lightnvm: pblk: fix message if L2P MAP is in device Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 09/58] lightnvm: pblk: improve error message if down_timeout fails Matias Bjørling
2017-10-13 12:45 ` [GIT PULL 10/58] lightnvm: pblk: print incompatible line version correctly Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 11/58] lightnvm: pblk: reuse pblk_gc_should_kick Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 12/58] lightnvm: pblk: initialize debug stat counter Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 13/58] lightnvm: pblk: use right flag for GC allocation Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 14/58] lightnvm: pblk: free padded entries in write buffer Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 15/58] lightnvm: pblk: fix write I/O sync stat Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 16/58] lightnvm: pblk: avoid deadlock on low LUN config Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 17/58] lightnvm: pblk: fix min size for page mempool Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 18/58] lightnvm: pblk: simplify work_queue mempool Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 19/58] lightnvm: pblk: decouple read/erase mempools Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 20/58] lightnvm: pblk: do not use a mempool for line bitmaps Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 21/58] lightnvm: pblk: remove checks on mempool alloc Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 22/58] lightnvm: pblk: use constant for GC max inflight Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 23/58] lightnvm: pblk: normalize ppa namings Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 24/58] lightnvm: pblk: refactor read lba sanity check Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 25/58] lightnvm: pblk: simplify data validity check on GC Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 26/58] lightnvm: pblk: refactor read path " Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 27/58] lightnvm: pblk: put bio on bio completion Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 28/58] lightnvm: pblk: simplify path on REQ_PREFLUSH Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 29/58] lightnvm: pblk: allocate bio size more accurately Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 30/58] lightnvm: pblk: improve naming for internal req Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 31/58] lightnvm: pblk: refactor rqd alloc/free Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 32/58] lightnvm: pblk: use rqd->end_io for completion Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 33/58] lightnvm: pblk: check lba sanity on read path Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 34/58] lightnvm: pblk: guarantee line integrity on reads Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 35/58] lightnvm: pblk: remove redundant check on read path Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 36/58] lightnvm: pblk: remove I/O dependency on write path Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 37/58] lightnvm: pblk: enable 1 LUN configuration Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 38/58] lightnvm: pblk: ensure right bad block calculation Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 39/58] lightnvm: pblk: fix changing GC group list for a line Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 40/58] lightnvm: pblk: remove useless line Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 41/58] lightnvm: remove unused argument from nvm_set_tgt_bb_tbl Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 42/58] lightnvm: remove stale extern and unused exported symbols Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 43/58] lightnvm: pblk: reduce arguments in __pblk_rb_update_l2p Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 44/58] lightnvm: pblk: fix releases of kmem cache in error path Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 45/58] lightnvm: pblk: prevent gc kicks when gc is not operational Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 46/58] lightnvm: pblk: recover partially written lines correctly Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 47/58] lightnvm: pblk: free full lines during recovery Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 48/58] lightnvm: pblk: start gc if needed during init Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 49/58] lightnvm: pblk: consider bad sectors in emeta during recovery Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 50/58] lightnvm: pblk: shut down gc gracefully during exit Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 51/58] lightnvm: pblk: add l2p crc debug printouts Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 52/58] lightnvm: pblk: gc all lines in the pipeline before exit Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 53/58] lightnvm: pblk: correct valid lba count calculation Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 54/58] lightnvm: pblk: remove spinlock when freeing line metadata Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 55/58] lightnvm: pblk: cleanup unused and static functions Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 56/58] lightnvm: pblk: avoid being reported as hung on rated GC Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 57/58] lightnvm: fail fast on passthrough commands Matias Bjørling
2017-10-13 12:46 ` [GIT PULL 58/58] lightnvm: implement generic path for sync I/O Matias Bjørling
2017-10-13 14:36 ` [GIT PULL 00/58] LightNVM updates for 4.15 Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox