Go to file
Sagi Grimberg db5ad6b7f8 nvme-tcp: try to send request in queue_rq context
Today, nvme-tcp automatically schedules a send request
to a workqueue context, which is 1 more than we'd need
in case the socket buffer is wide open.

However, because we have async send activity (as a result
of r2t, or write_space callbacks), we need to synchronize
sends from possibly multiple contexts (ideally all running
on the same cpu though).

Thus, we only try to send directly from queue_rq in cases:
1. the send_list is empty
2. we can send it synchronously (i.e. not from the RX path)
3. we run on the same cpu as the queue->io_cpu to avoid
   contention on the send operation.

Proposed-by: Mark Wunderlich <mark.wunderlich@intel.com>
Signed-off-by: Mark Wunderlich <mark.wunderlich@intel.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-05-09 16:18:36 -06:00
arch A set of fixes for x86 and objtool: 2020-04-19 11:58:32 -07:00
block bdi: remove the name field in struct backing_dev_info 2020-05-09 16:15:13 -06:00
certs
crypto x86: update AS_* macros to binutils >=2.23, supporting ADX and AVX2 2020-04-09 00:12:48 +09:00
Documentation hwmon fixes for v5.7-rc2 2020-04-18 13:28:09 -07:00
drivers nvme-tcp: try to send request in queue_rq context 2020-05-09 16:18:36 -06:00
fs hfs: stop using ioctl_by_bdev 2020-05-09 16:15:13 -06:00
include nvme-fc and nvmet-fc: revise LLDD api for LS reception and LS request 2020-05-09 16:18:33 -06:00
init Kbuild updates for v5.7 (2nd) 2020-04-11 09:46:12 -07:00
ipc ipc/util.c: sysvipc_find_ipc() should increase position index 2020-04-10 15:36:22 -07:00
kernel An update for the proc interface of time namespaces: Use symbolic names 2020-04-19 11:46:21 -07:00
lib Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-04-16 14:52:29 -07:00
LICENSES
mm bdi: remove the name field in struct backing_dev_info 2020-05-09 16:15:13 -06:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-04-16 14:52:29 -07:00
samples samples/hw_breakpoint: drop use of kallsyms_lookup_name() 2020-04-07 10:43:44 -07:00
scripts A handful of fixes for reasonably obnoxious documentation issues. 2020-04-17 13:10:50 -07:00
security selinux/stable-5.7 PR 20200416 2020-04-16 10:45:47 -07:00
sound sound fixes for 5.7-rc2 2020-04-17 09:48:50 -07:00
tools Merge branch 'block-5.7' into for-5.8/block 2020-05-09 16:13:58 -06:00
usr kbuild: fix comment about missing include guard detection 2020-04-11 12:09:48 +09:00
virt KVM: Pass kvm_init()'s opaque param to additional arch funcs 2020-03-31 10:48:03 -04:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap mailmap: Add Sedat Dilek (replacement for expired email address) 2020-04-11 09:28:34 -07:00
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS SCSI fixes on 20200418 2020-04-18 14:03:12 -07:00
Makefile Linux 5.7-rc2 2020-04-19 14:35:30 -07: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.

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.