Re: [dm-devel] [PATCH V11 03/19] block: introduce bio_for_each_bvec()

2018-11-21 Thread Ming Lei
On Wed, Nov 21, 2018 at 05:10:25PM +0100, Christoph Hellwig wrote: > On Wed, Nov 21, 2018 at 11:31:36PM +0800, Ming Lei wrote: > > > But while looking over this I wonder why we even need the max_seg_len > > > here. The only thing __bvec_iter_advance does it to move bi_bvec_done > > > and bi_idx

Re: [dm-devel] [PATCH V11 02/19] block: introduce multi-page bvec helpers

2018-11-21 Thread Ming Lei
On Wed, Nov 21, 2018 at 05:08:11PM +0100, Christoph Hellwig wrote: > On Wed, Nov 21, 2018 at 11:06:11PM +0800, Ming Lei wrote: > > bvec_iter_* is used for single-page bvec in current linus tree, and there > > are > > lots of users now: > > > > [linux]$ git grep -n "bvec_iter_*" ./ | wc > >

Re: [dm-devel] [PATCH V11 14/19] block: handle non-cluster bio out of blk_bio_segment_split

2018-11-21 Thread Christoph Hellwig
Actually.. I think we can kill this code entirely. If we look at what the clustering setting is really about it is to avoid ever merging a segement that spans a page boundary. And we should be able to do that with something like this before your series: --- >From

Re: [dm-devel] [PATCH V11 03/19] block: introduce bio_for_each_bvec()

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 05:10:25PM +0100, Christoph Hellwig wrote: > No - I think we can always use the code without any segment in > bvec_iter_advance. Because bvec_iter_advance only operates on the > iteractor, the generation of an actual single-page or multi-page > bvec is left to the caller

Re: [dm-devel] [PATCH V11 15/19] block: enable multipage bvecs

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 11:48:13PM +0800, Ming Lei wrote: > I guess the correct check should be: > > end_addr = vec_addr + bv->bv_offset + bv->bv_len; > if (same_page && > (end_addr & PAGE_MASK) != (page_addr & PAGE_MASK)) >

Re: [dm-devel] [PATCH V11 02/19] block: introduce multi-page bvec helpers

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 11:06:11PM +0800, Ming Lei wrote: > bvec_iter_* is used for single-page bvec in current linus tree, and there are > lots of users now: > > [linux]$ git grep -n "bvec_iter_*" ./ | wc > 191 995 13242 > > If we have to switch it first, it can be a big change, just

Re: [dm-devel] [PATCH V11 15/19] block: enable multipage bvecs

2018-11-21 Thread Ming Lei
On Wed, Nov 21, 2018 at 03:55:02PM +0100, Christoph Hellwig wrote: > On Wed, Nov 21, 2018 at 11:23:23AM +0800, Ming Lei wrote: > > if (bio->bi_vcnt > 0) { > > - struct bio_vec *bv = >bi_io_vec[bio->bi_vcnt - 1]; > > + struct bio_vec bv; > > + struct bio_vec *seg =

Re: [dm-devel] [PATCH V11 14/19] block: handle non-cluster bio out of blk_bio_segment_split

2018-11-21 Thread Ming Lei
On Wed, Nov 21, 2018 at 03:33:55PM +0100, Christoph Hellwig wrote: > > + non-cluster.o > > Do we really need a new source file for these few functions? > > > default: > > + if (!blk_queue_cluster(q)) { > > + blk_queue_non_cluster_bio(q, bio); > >

Re: [dm-devel] [PATCH V11 03/19] block: introduce bio_for_each_bvec()

2018-11-21 Thread Ming Lei
On Wed, Nov 21, 2018 at 02:32:44PM +0100, Christoph Hellwig wrote: > > +#define bio_iter_mp_iovec(bio, iter) \ > > + segment_iter_bvec((bio)->bi_io_vec, (iter)) > > Besides the mp naming we'd like to get rid off there also is just > a single user of this macro,

Re: [dm-devel] [PATCH V11 02/19] block: introduce multi-page bvec helpers

2018-11-21 Thread Ming Lei
On Wed, Nov 21, 2018 at 02:19:28PM +0100, Christoph Hellwig wrote: > On Wed, Nov 21, 2018 at 11:23:10AM +0800, Ming Lei wrote: > > This patch introduces helpers of 'segment_iter_*' for multipage > > bvec support. > > > > The introduced helpers treate one bvec as real multi-page segment, > > which

Re: [dm-devel] [PATCH V11 15/19] block: enable multipage bvecs

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 11:23:23AM +0800, Ming Lei wrote: > if (bio->bi_vcnt > 0) { > - struct bio_vec *bv = >bi_io_vec[bio->bi_vcnt - 1]; > + struct bio_vec bv; > + struct bio_vec *seg = >bi_io_vec[bio->bi_vcnt - 1]; > > - if (page ==

Re: [dm-devel] [PATCH V11 14/19] block: handle non-cluster bio out of blk_bio_segment_split

2018-11-21 Thread Christoph Hellwig
> + non-cluster.o Do we really need a new source file for these few functions? > default: > + if (!blk_queue_cluster(q)) { > + blk_queue_non_cluster_bio(q, bio); > + return; I'd name this

Re: [dm-devel] [PATCH V11 17/19] block: document usage of bio iterator helpers

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 09:45:25AM +0200, Nikolay Borisov wrote: > > + bio_for_each_segment_all() > > + bio_first_bvec_all() > > + bio_first_page_all() > > + bio_last_bvec_all() > > + > > +* The following helpers iterate over single-page bvecs. The passed 'struct > > +bio_vec' will contain

Re: [dm-devel] [PATCH V11 12/19] block: allow bio_for_each_segment_all() to iterate over multi-page bvec

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 11:23:20AM +0800, Ming Lei wrote: > This patch introduces one extra iterator variable to > bio_for_each_segment_all(), > then we can allow bio_for_each_segment_all() to iterate over multi-page bvec. > > Given it is just one mechannical & simple change on all >

Re: [dm-devel] [PATCH V11 11/19] bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages()

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 11:23:19AM +0800, Ming Lei wrote: > bch_bio_alloc_pages() is always called on one new bio, so it is safe > to access the bvec table directly. Given it is the only kind of this > case, open code the bvec table access since bio_for_each_segment_all() > will be changed to

Re: [dm-devel] [PATCH V11 10/19] block: loop: pass multi-page bvec to iov_iter

2018-11-21 Thread Christoph Hellwig
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index 1ad6eafc43f2..a281b6737b61 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -805,6 +805,10 @@ struct req_iterator { > __rq_for_each_bio(_iter.bio, _rq) \ >

Re: [dm-devel] Disconcerting observation with multipathd's dmevent polling code

2018-11-21 Thread Martin Wilck
On Wed, 2018-11-21 at 12:20 +0100, Hannes Reinecke wrote: > On 11/21/18 11:50 AM, Martin Wilck wrote: > > > > The concern that I have is with the design of the polling dmevent > > API, > > in particular the fact that the default action is EVENT_REMOVE. If, > > for > > whatever reason, one map is

Re: [dm-devel] [PATCH V11 03/19] block: introduce bio_for_each_bvec()

2018-11-21 Thread Christoph Hellwig
> +#define bio_iter_mp_iovec(bio, iter) \ > + segment_iter_bvec((bio)->bi_io_vec, (iter)) Besides the mp naming we'd like to get rid off there also is just a single user of this macro, please just expand it there. > +#define segment_iter_bvec(bvec, iter)

Re: [dm-devel] [PATCH V11 02/19] block: introduce multi-page bvec helpers

2018-11-21 Thread Christoph Hellwig
On Wed, Nov 21, 2018 at 11:23:10AM +0800, Ming Lei wrote: > This patch introduces helpers of 'segment_iter_*' for multipage > bvec support. > > The introduced helpers treate one bvec as real multi-page segment, > which may include more than one pages. Unless I'm missing something these bvec vs

Re: [dm-devel] Disconcerting observation with multipathd's dmevent polling code

2018-11-21 Thread Hannes Reinecke
On 11/21/18 11:50 AM, Martin Wilck wrote: Hi Ben, I recently encountered a strange and disturbing phenomenon with the latest upstream code. The system in question had two iSCSI connections on separate networks. On one of them, I tested iSCSI disconnect and re-connects, and broken storage

[dm-devel] Disconcerting observation with multipathd's dmevent polling code

2018-11-21 Thread Martin Wilck
Hi Ben, I recently encountered a strange and disturbing phenomenon with the latest upstream code. The system in question had two iSCSI connections on separate networks. On one of them, I tested iSCSI disconnect and re-connects, and broken storage configurations (different LUNs diffenent sizes

[dm-devel] [PATCH 19/19] libmultipath: improve logging from orphan_paths

2018-11-21 Thread Martin Wilck
It's a big difference if a map is flushed from DM (changing kernel state) or just removed from internal multipathd tables. Convey this information in log messages. Signed-off-by: Martin Wilck --- libmultipath/structs_vec.c | 6 +++--- libmultipath/structs_vec.h | 3 ++- multipathd/main.c

[dm-devel] [PATCH 17/19] tests: add unit tests for bitmask functions

2018-11-21 Thread Martin Wilck
Add unit tests for the bitmask management functions the previous patch added in util.h. Signed-off-by: Martin Wilck --- tests/util.c | 98 1 file changed, 98 insertions(+) diff --git a/tests/util.c b/tests/util.c index 839effd2..e6d4b9ab

Re: [dm-devel] [PATCH V10 09/19] block: introduce bio_bvecs()

2018-11-21 Thread Ming Lei
On Tue, Nov 20, 2018 at 09:35:07PM -0800, Sagi Grimberg wrote: > > > > Wait, I see that the bvec is still a single array per bio. When you said > > > a table I thought you meant a 2-dimentional array... > > > > I mean a new 1-d table A has to be created for multiple bios in one rq, > > and build

[dm-devel] [PATCH 15/19] libmultipath: adopt_paths: check for size match

2018-11-21 Thread Martin Wilck
In coalesce_paths() and ev_add_path(), we check for size mismatch. We should do it here, too. Signed-off-by: Martin Wilck --- libmultipath/structs_vec.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c index 561ff4ac..a0b69ce5

[dm-devel] [PATCH 04/19] libmultipath: decrease verbosity of pathinfo messages

2018-11-21 Thread Martin Wilck
Reduce the verbosity of pointless messages from pathinfo(), in particular those that are printed on every checker invocation. Signed-off-by: Martin Wilck --- libmultipath/discovery.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libmultipath/discovery.c

[dm-devel] [PATCH 14/19] libmultipath: decrease log level for failed VPD c9

2018-11-21 Thread Martin Wilck
It's normal that SCSI devices don't support this page. Only RDAC devices need it. Signed-off-by: Martin Wilck --- libmultipath/discovery.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c index 1c87277f..7f983a63 100644

[dm-devel] [PATCH 11/19] libmultipath: decrease log level of "prioritizer refcount" message

2018-11-21 Thread Martin Wilck
This was important during development of the refcounting code, but now it isn't any more. Signed-off-by: Martin Wilck --- libmultipath/prio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libmultipath/prio.c b/libmultipath/prio.c index 17acfd05..0590218d 100644 ---

[dm-devel] [PATCH 18/19] multipathd: uev_remove_path: remove redundant orphan_paths call

2018-11-21 Thread Martin Wilck
The remove_map_and_stop_waiter() call which follows immediately will do the same thing. Signed-off-by: Martin Wilck --- multipathd/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/multipathd/main.c b/multipathd/main.c index 79c8ed1e..0c248046 100644 --- a/multipathd/main.c +++

[dm-devel] [PATCH 16/19] libmultipath: coalesce_paths: fix size mismatch handling

2018-11-21 Thread Martin Wilck
When there are paths with the same WWID but different sizes, and coalesce_paths() walks the pathvec, it checks paths _after_ the current one for size mismatch and sets ACT_REJECT. However, these paths will be reached in the main loop later, and this time the already handled paths will not be

[dm-devel] [PATCH 10/19] multipathd: decrease log level of checker timing

2018-11-21 Thread Martin Wilck
These messages, printed for every checker invocation, were helpful in the past but they don't make much sense under normal operations. The same information can be derived from journal time stamps on recent Linux distributions. Signed-off-by: Martin Wilck --- multipathd/main.c | 2 +- 1 file

[dm-devel] [PATCH 08/19] libmultipath: decrease log level of word splitting

2018-11-21 Thread Martin Wilck
This will make log level 4 actually usable. Signed-off-by: Martin Wilck --- libmultipath/util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libmultipath/util.c b/libmultipath/util.c index 66c47611..b5d2e706 100644 --- a/libmultipath/util.c +++ b/libmultipath/util.c @@

[dm-devel] [PATCH 03/19] multipath-tools: decrease verbosity of state messages

2018-11-21 Thread Martin Wilck
With verbosity level 3, thousands of "path state = running" messages are logged, which are pretty much irrelevant, as the checker state takes precedence. Also the "get_state" message is totally useless. With this patch, the path state is reported exactly once per path and check. Signed-off-by:

[dm-devel] [PATCH 06/19] libmultipath: avoid frequent messages from filter_property()

2018-11-21 Thread Martin Wilck
Unlike the other filter functions, filter_property() is called on every pathinfo() call, and prints a message with -v3 every time. Avoid that by using a lower log priority for the call from pathinfo(). Signed-off-by: Martin Wilck --- libmultipath/blacklist.c | 54

[dm-devel] [PATCH 05/19] libmultipath: decrease verbosity of TUR checker messages

2018-11-21 Thread Martin Wilck
The thread startup/stop messages aren't very interesting. Decrease their verbosity level to v4. Signed-off-by: Martin Wilck --- libmultipath/checkers/tur.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c index

[dm-devel] [PATCH 07/19] libmultipath: decrease log level of "disassembled" messages

2018-11-21 Thread Martin Wilck
These messages are printed from update_multipath_strings, and thus from check_path(), which is too much for -v3. Signed-off-by: Martin Wilck --- libmultipath/dmparser.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libmultipath/dmparser.c b/libmultipath/dmparser.c

[dm-devel] [PATCH 13/19] libmultipath: simplify devt2devname()

2018-11-21 Thread Martin Wilck
Since 1e79548, we don't fallback from /sys/dev/block to /proc/partitions anyway. The strncmp() at "skip_proc" is doomed to fail. So we might as well return immediately. Also, decrease the log level; whether this failure is noteworthy is rather up to the callers to decide. Signed-off-by: Martin

[dm-devel] [PATCH 12/19] libmpathpersist/update_map_pr: decrease log level for nop

2018-11-21 Thread Martin Wilck
No need to log at -v3 if nothing to do. Signed-off-by: Martin Wilck --- libmpathpersist/mpath_persist.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c index 2ffe56ea..0b9c7149 100644 ---

[dm-devel] [PATCH 02/19] tests/hwtable: adjust to new checker API

2018-11-21 Thread Martin Wilck
checker.name doesn't exist any more. Signed-off-by: Martin Wilck --- tests/hwtable.c | 84 - 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/tests/hwtable.c b/tests/hwtable.c index 1cd788ac..789481ff 100644 --- a/tests/hwtable.c

[dm-devel] [PATCH 09/19] libmultipath: increase log level of map removal

2018-11-21 Thread Martin Wilck
This is an important event which we want to see with -v3. Signed-off-by: Martin Wilck --- libmultipath/structs_vec.c | 6 +++--- multipathd/main.c | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c index

[dm-devel] [PATCH 01/19] tests/hwtable: set multipath_dir in local configuration

2018-11-21 Thread Martin Wilck
If internal libmultipath APIs change (such as, recently, the checker API), test programs will fail because they'll link with the standard system prioritizer / checker / foreign APIs. Make sure we always link with our own shared libraries. Signed-off-by: Martin Wilck --- tests/Makefile | 7

[dm-devel] [PATCH 00/19] multipath-tools: improve logging at -v3

2018-11-21 Thread Martin Wilck
Hi Christophe, most of the patches in this series reduce log levels of frequently printed messages at verbosity level 3. My goal was to limit the output of multipathd to one line per path per checker invocation, which is sufficient to track multipathd's view of path health in the logs. The

[dm-devel] [RFC PATCH v2 1/3] dm: enable dax_operations for dm-snapshot

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye Reconstruct origin_dax_direct_access and expand functions origin_dax_copy_to/from_iter for DAX operations of dm-snapshot. Here is the call trace of origin_dax_copy_to_iter, origin_dax_copy_to_iter will callin dm-linear (-real) for further dax_operation. [518597.924019] Call

[dm-devel] [RFC PATCH 1/3] dm: enable dax_operations for dm-snapshot

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye Reconstruct origin_dax_direct_access and expand functions origin_dax_copy_to/from_iter for DAX operations of dm-snapshot. Here is the call trace of origin_dax_copy_to_iter, origin_dax_copy_to_iter will callin dm-linear (-real) for further dax_operation. [518597.924019] Call

[dm-devel] [RFC PATCH v2 3/3] dm: expand valid types for dm-ioctl

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye If use DAX way to mount the origin device of dm_snapshot, when merging back snapshot to origin, system call table_load during the construction of snapshot-merge will try to detect new dm_table's type equals to the existed md's type or not. The existed type equals to

[dm-devel] [RFC PATCH v2 0/3] realize dax_operations for dm-snapshot

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye Changes v1->v2: Add NULL funtions for origin_dax_direct_access and origin_dax_copy_from/to_iter in order to avoid building error when CONFIG_DAX_DRIVER has NOT been enabled. [v1]: https://lkml.org/lkml/2018/11/20/759 This series patches are used to

Re: [dm-devel] [PATCH V11 17/19] block: document usage of bio iterator helpers

2018-11-21 Thread Nikolay Borisov
On 21.11.18 г. 5:23 ч., Ming Lei wrote: > Now multi-page bvec is supported, some helpers may return page by > page, meantime some may return segment by segment, this patch > documents the usage. > > Signed-off-by: Ming Lei > --- > Documentation/block/biovecs.txt | 24

Re: [dm-devel] [PATCH V10 19/19] block: kill BLK_MQ_F_SG_MERGE

2018-11-21 Thread Omar Sandoval
On Thu, Nov 15, 2018 at 04:53:06PM +0800, Ming Lei wrote: > QUEUE_FLAG_NO_SG_MERGE has been killed, so kill BLK_MQ_F_SG_MERGE too. > > Cc: Dave Chinner > Cc: Kent Overstreet > Cc: Mike Snitzer > Cc: dm-devel@redhat.com > Cc: Alexander Viro > Cc: linux-fsde...@vger.kernel.org > Cc: Shaohua Li

Re: [dm-devel] [PATCH V10 18/19] block: kill QUEUE_FLAG_NO_SG_MERGE

2018-11-21 Thread Omar Sandoval
On Fri, Nov 16, 2018 at 02:59:22PM +0100, Christoph Hellwig wrote: > On Thu, Nov 15, 2018 at 06:18:11PM -0800, Omar Sandoval wrote: > > This commit message wasn't very clear. Is it the case that > > QUEUE_FLAG_NO_SG_MERGE is no longer set by any drivers? > > I think he wants to say that not doing

Re: [dm-devel] [PATCH V10 03/19] block: use bio_for_each_bvec() to compute multi-page bvec count

2018-11-21 Thread Omar Sandoval
On Fri, Nov 16, 2018 at 10:19:56AM +0100, Christoph Hellwig wrote: > On Thu, Nov 15, 2018 at 02:18:47PM -0800, Omar Sandoval wrote: > > My only reason to prefer unsigned int is consistency. unsigned int is > > much more common in the kernel: > > > > $ ag --cc -s 'unsigned\s+int' | wc -l > >

[dm-devel] [RFC PATCH 2/3] dm: expand hc_map in mapped_device for lack of map

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye Sometimes dm_swap_table couldn't be used in time. For example, during the origin construction of dm-snapshot, the sys_ioctl table_load will try to detect the lower device origin-real whether support direct access or not. But origin-real md's struct dm-table pointer has not

[dm-devel] [RFC PATCH v2 2/3] dm: expand hc_map in mapped_device for lack of map

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye Sometimes dm_swap_table couldn't be used in time. For example, during the origin construction of dm-snapshot, the sys_ioctl table_load will try to detect the lower device origin-real whether support direct access or not. But origin-real md's struct dm-table pointer has not

[dm-devel] [RFC PATCH 0/3] realize dax_operations for dm-snapshot

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye This series patches are used to realize the dax_operations for dm-snapshot with persistent memory device. Here are the steps about how to verify the function. 1. Configure the persistent memory to fs-dax mode and create namespace with ndctl; 2. find them in /dev; # ndctl

[dm-devel] ablkcipher plugins for pcrypt

2018-11-21 Thread Mailing Lists
Dear Steffen, I stumbled upon this old thread[1] about the possibility of getting pcrypt work for dm-crypt. About around the same time dm-crypt got parallel support[2] but as far as I understand the patch only enabled parallelism if there are multiple simultaneous requests, but still goes single

[dm-devel] [RFC PATCH 3/3] dm: expand valid types for dm-ioctl

2018-11-21 Thread Huaisheng Ye
From: Huaisheng Ye If use DAX way to mount the origin device of dm_snapshot, when merging back snapshot to origin, system call table_load during the construction of snapshot-merge will try to detect new dm_table's type equals to the existed md's type or not. The existed type equals to

Re: [dm-devel] [PATCH V10 15/19] block: always define BIO_MAX_PAGES as 256

2018-11-21 Thread Huang, Ying
Ming Lei writes: > On Thu, Nov 15, 2018 at 05:59:36PM -0800, Omar Sandoval wrote: >> On Thu, Nov 15, 2018 at 04:53:02PM +0800, Ming Lei wrote: >> > Now multi-page bvec can cover CONFIG_THP_SWAP, so we don't need to >> > increase BIO_MAX_PAGES for it. >> >> You mentioned to it in the cover

Re: [dm-devel] [PATCH] multipathd: fix mpp->hwe handling when paths are freed

2018-11-21 Thread Martin Wilck
On Tue, 2018-11-20 at 22:24 -0600, Benjamin Marzinski wrote: > Commit 1f962693 didn't deal with all of cases where a path that was > part > of a multipath device could be removed. verify_paths() removes any > path > that no longer exists in sysfs. mpp->hwe needs to be updated here as > well,

Re: [dm-devel] [PATCH V10 09/19] block: introduce bio_bvecs()

2018-11-21 Thread Christoph Hellwig
On Tue, Nov 20, 2018 at 09:35:07PM -0800, Sagi Grimberg wrote: >> Given it is over TCP, I guess it should be doable for you to preallocate one >> 256-bvec table in one page for each request, then sets the max segment size >> as >> (unsigned int)-1, and max segment number as 256, the preallocated