Re: [dm-devel] [git pull] device mapper fixes for 5.8-rc3

2020-06-27 Thread pr-tracker-bot
The pull request you sent on Fri, 26 Jun 2020 15:28:47 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git > tags/for-5.8/dm-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/5e8eed279f280d6ad4cf59b3330d5d6d7b9de733 Thank you! -- De

Re: [dm-devel] [PATCH 0/6] Overhaul memalloc_no*

2020-06-27 Thread Mikulas Patocka
On Sat, 27 Jun 2020, Dave Chinner wrote: > On Fri, Jun 26, 2020 at 11:02:19AM -0400, Mikulas Patocka wrote: > > Hi > > > > I suggest to join memalloc_noio and memalloc_nofs into just one flag that > > prevents both filesystem recursion and i/o recursion. > > > > Note that any I/O can recurse

[dm-devel] [PATCH 05/14] block: move bio_associate_blkg_from_page to mm/page_io.c

2020-06-27 Thread Christoph Hellwig
bio_associate_blkg_from_page is a special purpose helper for swap bios that doesn't need access to bio internals. Move it to the swap code instead of having it in bio.c. Signed-off-by: Christoph Hellwig --- block/bio.c | 26 -- include/linux/bio.h | 7 --- m

[dm-devel] [PATCH 13/14] blk-cgroup: remove blkcg_bio_issue_check

2020-06-27 Thread Christoph Hellwig
blkcg_bio_issue_check is a giant inline function that does three entirely different things. Factor out the blk-cgroup related bio initalization into a new helper, and the open code the sequence in the only caller, relying on the fact that all the actual functionality is stubbed out for non-cgroup

[dm-devel] [PATCH 04/14] block: merge __bio_associate_blkg into bio_associate_blkg_from_css

2020-06-27 Thread Christoph Hellwig
Merge __bio_associate_blkg into the only caller, which allows to slightly reduce the RCU crticial section and better explain the code flow. Signed-off-by: Christoph Hellwig --- block/bio.c | 45 + 1 file changed, 13 insertions(+), 32 deletions(-) diff

[dm-devel] [PATCH 11/14] cgroup: unexport cgroup_rstat_updated

2020-06-27 Thread Christoph Hellwig
cgroup_rstat_updated is only used by core block code, no need to export it. Signed-off-by: Christoph Hellwig --- kernel/cgroup/rstat.c | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/cgroup/rstat.c b/kernel/cgroup/rstat.c index b6397a186ce9c8..d51175cedfca4f 100644 --- a/kernel/cgroup/

[dm-devel] [PATCH 03/14] block: really clone the block cgroup in bio_clone_blkg_association

2020-06-27 Thread Christoph Hellwig
bio_clone_blkg_association is supposed to clone the associatation, but actually ends up doing a search with a tryget. As we know we have a reference on the source cgroup just get an unconditional additional reference to it and call it a day. That also removes the need for a RCU critical section.

[dm-devel] [PATCH 10/14] blk-cgroup: remove the !bio->bi_blkg check in blkcg_bio_issue_check

2020-06-27 Thread Christoph Hellwig
This is purely a sanity check for grave programming errors. Remove it to simplify further work in this area. Signed-off-by: Christoph Hellwig --- include/linux/blk-cgroup.h | 15 +-- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/include/linux/blk-cgroup.h b/include/l

[dm-devel] [PATCH 12/14] blk-cgroup: move rcu locking from blkcg_bio_issue_check to blk_throtl_bio

2020-06-27 Thread Christoph Hellwig
The only thing in blkcg_bio_issue_check that needs to be under rcu_read_lock is blk_throtl_bio, so move the locking there. Signed-off-by: Christoph Hellwig --- block/blk-throttle.c | 3 ++- include/linux/blk-cgroup.h | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/bl

[dm-devel] [PATCH 06/14] block: move the bio cgroup associatation helpers to blk-cgroup.c

2020-06-27 Thread Christoph Hellwig
Keep the cgroup code together. Signed-off-by: Christoph Hellwig --- block/bio.c| 75 --- block/blk-cgroup.c | 103 - include/linux/blk-cgroup.h | 30 --- 3 files changed, 101 insertions(+), 107 deletion

[dm-devel] drive-by blk-cgroup cleanups

2020-06-27 Thread Christoph Hellwig
Hi all, while looking into another "project" I ended up wading through the blkcq code for research and found a bunch of lose ends. So here is a bunch of drive-by cleanups for the code. Diffstat: block/bio.c| 143 +-- block/blk-cgroup.c |

[dm-devel] [PATCH 09/14] block: move the initial blkg lookup into blkg_tryget_closest

2020-06-27 Thread Christoph Hellwig
By moving the initial blkg lookup into blkg_tryget_closest we get a nicely self contained routines that does all the RCU locking. Signed-off-by: Christoph Hellwig --- block/blk-cgroup.c | 33 ++--- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/block/

[dm-devel] [PATCH 14/14] blk-cgroup: remove a dead check in blk_throtl_bio

2020-06-27 Thread Christoph Hellwig
bios must have a valid block group by the time they are submitted. Signed-off-by: Christoph Hellwig --- block/blk-throttle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-throttle.c b/block/blk-throttle.c index 9d00f62c05ecdf..ad37043297ed58 100644 --- a/block/blk

[dm-devel] [PATCH 07/14] block: merge blkg_lookup_create and __blkg_lookup_create

2020-06-27 Thread Christoph Hellwig
No good reason to keep these two functions split. Signed-off-by: Christoph Hellwig --- block/blk-cgroup.c | 49 +- 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index bb0607bfd771cd..6aedb73ffbf

[dm-devel] [PATCH 01/14] dm: use bio_uninit instead of bio_disassociate_blkg

2020-06-27 Thread Christoph Hellwig
bio_uninit is the proper API to clean up a BIO that has been allocated on stack or inside a structure that doesn't come from the BIO allocator. Switch dm to use that instead of bio_disassociate_blkg, which really is an implementation detail. Note that the bio_uninit calls are also moved to the two

[dm-devel] [PATCH 08/14] block: bypass blkg_tryget_closest for the root_blkg

2020-06-27 Thread Christoph Hellwig
The root_blkg is only torn down at the very end of removing a queue. So in the I/O submission path is always has a life reference and we can just grab another one using blkg_get instead of doing a tryget and parent walk that won't lead anywhere. Signed-off-by: Christoph Hellwig --- block/blk-cgr

[dm-devel] [PATCH 02/14] block: remove bio_disassociate_blkg

2020-06-27 Thread Christoph Hellwig
bio_disassociate_blkg has two callers, of which one immediately assigns a new value to >bi_blkg. Just open code the function in the two callers. Signed-off-by: Christoph Hellwig --- block/bio.c | 27 --- include/linux/bio.h | 2 -- 2 files changed, 8 insertions(