Performance oriented customized Linux kernel based on the mainline kernel.
Find a file
Keith Busch 12f5b93145 blk-mq: Remove generation seqeunce
This patch simplifies the timeout handling by relying on the request
reference counting to ensure the iterator is operating on an inflight
and truly timed out request. Since the reference counting prevents the
tag from being reallocated, the block layer no longer needs to prevent
drivers from completing their requests while the timeout handler is
operating on it: a driver completing a request is allowed to proceed to
the next state without additional syncronization with the block layer.

This also removes any need for generation sequence numbers since the
request lifetime is prevented from being reallocated as a new sequence
while timeout handling is operating on it.

To enables this a refcount is added to struct request so that request
users can be sure they're operating on the same request without it
changing while they're processing it.  The request's tag won't be
released for reuse until both the timeout handler and the completion
are done with it.

Signed-off-by: Keith Busch <keith.busch@intel.com>
[hch: slight cleanups, added back submission side hctx lock, use cmpxchg
 for completions]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-05-29 08:59:21 -06:00
arch Remove jsflash driver 2018-05-15 13:56:16 -06:00
block blk-mq: Remove generation seqeunce 2018-05-29 08:59:21 -06:00
certs
crypto
Documentation null_blk: add blocking description and remove lightnvm 2018-05-25 08:51:58 -06:00
drivers libata: remove ata_scsi_timed_out 2018-05-29 08:47:40 -06:00
firmware
fs block: consistently use GFP_NOIO instead of __GFP_NORECLAIM 2018-05-14 08:55:18 -06:00
include blk-mq: Remove generation seqeunce 2018-05-29 08:59:21 -06:00
init Fix typo in comment. 2018-05-07 05:41:46 -10:00
ipc
kernel block: consistently use GFP_NOIO instead of __GFP_NORECLAIM 2018-05-14 08:55:18 -06:00
lib blk-mq: avoid starving tag allocation after allocating process migrates 2018-05-24 11:00:39 -06:00
LICENSES
mm bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue 2018-05-23 15:28:50 -06:00
net
samples
scripts DeviceTree fixes for 4.17: 2018-05-07 05:33:29 -10:00
security
sound
tools ACPI fix for 4.17-rc4 2018-05-04 05:43:33 -10:00
usr
virt KVM/arm fixes for 4.17, take #2 2018-05-05 23:05:31 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS block: fix MAINTAINERS email for nbd 2018-05-16 12:40:06 -06:00
Makefile Linux 4.17-rc4 2018-05-06 16:57:38 -10:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.