On 2025/2/26 23:00, Zi Yan wrote:
On 26 Feb 2025, at 2:11, Baolin Wang wrote:
Hi Zi,
On 2025/2/19 07:50, Zi Yan wrote:
A preparation patch for non-uniform folio split, which always split a
folio into half iteratively, and minimal xarray entry split.
Currently, xas_split_alloc() and
|
| | | | | | | | |
-
|
|
V
---
| xa_node |
---
Signed-off-by: Zi Yan
Cc: Baolin Wang
Cc: David Hildenbrand
Cc: Hugh Dickins
Cc: John Hubbard
Cc: Kefeng Wang
Cc: Kirill A. Shuemov
Cc: Miaohe Lin
Cc: Matthew Wilcox
Cc: Ryan Roberts
Cc: Yang Shi
Cc: Yu Zhao
Cc: Zi Yan
On 2025/1/17 05:10, Zi Yan wrote:
Commit 4d684b5f92ba ("mm: shmem: add large folio support for tmpfs") has
added large folio support to shmem. Remove the restriction in
split_huge_page*().
Agree.
Signed-off-by: Zi Yan
LGTM. Thanks.
Reviewed-by: Baolin Wang
On 2025/1/17 05:10, Zi Yan wrote:
Now split_huge_page*() supports shmem THP split to any lower order.
Test it.
The test now reads file content out after split to check if the split
corrupts the file data.
Signed-off-by: Zi Yan
LGTM.
Reviewed-by: Baolin Wang
Tested-by: Baolin Wang
one\n");
+ ksft_test_result_pass("File-backed THP split to order %d test done\n",
order);
Seems the patch set split has issues. No 'order' variable in this patch.
Anyway, I've fixed these issues in my local tree, and it works well. If
you fix them in the
d() version is still in use,
so leave that alone.
Signed-off-by: Dr. David Alan Gilbert
LGTM. Thanks.
Reviewed-by: Baolin Wang
On 2024/10/15 10:02, Nanyong Sun wrote:
The mount option of tmpfs should be huge=advise, not madvise
which is not supported and may mislead the users.
Fixes: 1b03d0d558a2 ("selftests/vm: add thp collapse file and tmpfs testing")
Signed-off-by: Nanyong Sun
LGTM.
Reviewed-by: B
On 2024/7/4 19:38, Stanislav Jakubek wrote:
Convert the Spreadtrum hardware spinlock bindings to DT schema.
Reviewed-by: Conor Dooley
Signed-off-by: Stanislav Jakubek
LGTM. Thanks.
Reviewed-by: Baolin Wang
---
Changes in V2:
- fix double space in example
- switch to #address
both-18 7351.11 ( 0.00%) 6950.51 * 5.45%*
Amean fault-both-24 9059.30 ( 0.00%) 9159.99 * -1.11%*
Amean fault-both-3010685.68 ( 0.00%)11399.02 * -6.68%*
Signed-off-by: Baolin Wang
Acked-by: Mel Gorman
---
Hi Andrew, please use this patch to replace below
在 2021/4/14 17:47, Miklos Szeredi 写道:
On Wed, Apr 14, 2021 at 11:22 AM Baolin Wang
wrote:
在 2021/4/14 17:02, Miklos Szeredi 写道:
On Wed, Apr 14, 2021 at 10:42 AM Baolin Wang
wrote:
Sorry I missed this patch before, and I've tested this patch, it seems
can solve the deadlock is
在 2021/4/14 17:02, Miklos Szeredi 写道:
On Wed, Apr 14, 2021 at 10:42 AM Baolin Wang
wrote:
Sorry I missed this patch before, and I've tested this patch, it seems
can solve the deadlock issue I met before.
Great, thanks for testing.
But look at this patch in detail, I think this
Hi,
在 2021/4/13 16:57, Miklos Szeredi 写道:
On Mon, Apr 12, 2021 at 3:23 PM Baolin Wang
wrote:
Hi Miklos,
在 2021/3/27 14:36, Baolin Wang 写道:
We can meet below deadlock scenario when writing back dirty pages, and
writing files at the same time. The deadlock scenario can be reproduced
by:
- A
Hi Miklos,
在 2021/3/27 14:36, Baolin Wang 写道:
We can meet below deadlock scenario when writing back dirty pages, and
writing files at the same time. The deadlock scenario can be reproduced
by:
- A writeback worker thread A is trying to write a bunch of dirty pages by
fuse_writepages(), and the
Since we move the fuse_wait_on_page_writeback() to fuse_fill_write_pages(),
thus remove the unused 'inode' parameter of fuse_send_write_pages().
Signed-off-by: Baolin Wang
---
Changes from v1:
- New patch.
---
fs/fuse/file.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletion
+0x10/0x14
Suggested-by: Peng Tao
Signed-off-by: Baolin Wang
---
Changes from v1:
- Use fuse_wait_on_page_writeback() instead to wait for page stable.
---
fs/fuse/file.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 8cccecb
/0x14
Suggested-by: Peng Tao
Signed-off-by: Baolin Wang
---
fs/fuse/file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 8cccecb..af082b6 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1166,6 +1166,8 @@ static ssize_t fuse_fill_write_pages
Suggested-by: Peng Tao
Signed-off-by: Baolin Wang
---
fs/fuse/file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 8cccecb..af082b6 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1166,6 +1166,8 @@ static ssize_t fuse_fill_write_pages(struct
If we did not reserve extra CMA memory, the log buffer can be
easily filled up by CMA failure warning when the devices calling
dmam_alloc_coherent() to alloc DMA memory. Thus we can use
pr_err_ratelimited() instead to reduce the duplicate CMA warning.
Signed-off-by: Baolin Wang
---
mm/cma.c | 4
; but not emergency messages from the remote cores, such as step counting
> sensor, with an independent FIFO and interrupt which is as same as channel
> 0. Meanwihle, inbox part of this channel is still kept for original remote
> core to use.
>
> Signed-off-by: Orson Zhai
Reviewed-by:
n requested by client yet.
>
> Fixes: ca27fc26cd22 ("mailbox: sprd: Add Spreadtrum mailbox driver")
> Signed-off-by: Orson Zhai
Sorry for the late reply. LGTM.
Reviewed-by: Baolin Wang
> ---
> drivers/mailbox/sprd-mailbox.c | 43 +++---
>
On Tue, Feb 9, 2021 at 12:09 PM Orson Zhai wrote:
>
> On Mon, Feb 08, 2021 at 10:27:47PM +0800, Baolin Wang wrote:
> > On Mon, Feb 8, 2021 at 7:52 PM Orson Zhai wrote:
> > >
> > > From: Orson Zhai
> > >
> > > Some sensors connected to Unisoc ma
On Tue, Feb 9, 2021 at 11:28 AM Orson Zhai wrote:
>
> On Mon, Feb 08, 2021 at 10:06:47PM +0800, Baolin Wang wrote:
> > Hi Orson,
> >
> > On Mon, Feb 8, 2021 at 7:52 PM Orson Zhai wrote:
> > >
> > > From: Orson Zhai
> > >
> > > Uni
Move the K() macro a little forward to remove the same macro definition.
Signed-off-by: Baolin Wang
---
mm/backing-dev.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 71a2bf4..576220a 100644
--- a/mm/backing-dev.c
+++ b/mm
if (!supp) {
> + dev_err(dev, "no supplementary outbox specified\n");
> + return -ENODEV;
> + }
> + priv->supp_base = priv->outbox_base + (SPRD_OUTBOX_BASE_SPAN
> * supp);
> + }
> +
> /* Get the default outbox FIFO depth */
> priv->outbox_fifo_depth =
> readl(priv->outbox_base + SPRD_MBOX_FIFO_DEPTH) + 1;
> @@ -354,7 +410,8 @@ static int sprd_mbox_probe(struct platform_device *pdev)
> }
>
> static const struct of_device_id sprd_mbox_of_match[] = {
> - { .compatible = "sprd,sc9860-mailbox", },
> + { .compatible = "sprd,sc9860-mailbox",
> + .data = (void *)SPRD_SUPP_INBOX_ID_SC9860 },
> { },
> };
> MODULE_DEVICE_TABLE(of, sprd_mbox_of_match);
> --
> 2.7.4
>
--
Baolin Wang
Q_MSK);
> + writel(SPRD_OUTBOX_FIFO_IRQ_MASK, priv->outbox_base +
> SPRD_MBOX_IRQ_MSK);
> + }
> + mutex_unlock(&priv->lock);
> }
>
> static const struct mbox_chan_ops sprd_mbox_ops = {
> @@ -266,6 +276,8 @@ static int sprd_mbox_probe(struct platform_device *pdev)
> return -ENOMEM;
>
> priv->dev = dev;
> + priv->refcnt = 0;
No need to do this, the priv structure is already cleared to 0.
> + mutex_init(&priv->lock);
>
> /*
> * The Spreadtrum mailbox uses an inbox to send messages to the target
> --
> 2.7.4
>
--
Baolin Wang
-off-by: Magnum Shan
> Signed-off-by: Chunyan Zhang
LGTM.
Reviewed-by: Baolin Wang
> ---
> drivers/mailbox/sprd-mailbox.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mailbox/sprd-mailbox.c b/drivers/mailbox/sprd-mailbox.c
> index f6fab24
Remove the obsolete 'MAX_KEY_LEN' macro.
Signed-off-by: Baolin Wang
---
block/blk-cgroup.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index 4b4fcb5..a317c03 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -32,8 +32,6 @@
10700] blkcg_destroy_blkgs+0x68/0x150
[ 4757.010701] cgwb_release_workfn+0x104/0x158
[ 4757.010702] process_one_work+0x1bc/0x3f0
[ 4757.010704] worker_thread+0x164/0x468
[ 4757.010705] kthread+0x108/0x138
Suggested-by: Tejun Heo
Signed-off-by: Baolin Wang
---
Changes from v2:
- Simplify l
在 2021/1/28 11:41, Jens Axboe 写道:
On 1/27/21 8:22 PM, Baolin Wang wrote:
On !PREEMPT kernel, we can get below softlockup when doing stress
testing with creating and destroying block cgroup repeatly. The
reason is it may take a long time to acquire the queue's lock in
the lo
10700] blkcg_destroy_blkgs+0x68/0x150
[ 4757.010701] cgwb_release_workfn+0x104/0x158
[ 4757.010702] process_one_work+0x1bc/0x3f0
[ 4757.010704] worker_thread+0x164/0x468
[ 4757.010705] kthread+0x108/0x138
Suggested-by: Tejun Heo
Signed-off-by: Baolin Wang
---
Changes from v1:
- Add might_
Hi Tejun,
Hello, Baolin.
On Tue, Jan 26, 2021 at 09:33:25PM +0800, Baolin Wang wrote:
On !PREEMPT kernel, we can get below softlockup when doing stress
testing with creating and destroying block cgroup repeatly. The
reason is it may take a long time to acquire the queue's lock in
the lo
_work+0x1bc/0x3f0
[ 4757.010704] worker_thread+0x164/0x468
[ 4757.010705] kthread+0x108/0x138
Signed-off-by: Baolin Wang
---
block/blk-cgroup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index 3465d6e..af7c0ce 100644
--- a/bloc
在 2021/1/26 7:22, Andrew Morton 写道:
On Mon, 25 Jan 2021 11:20:02 +0800 Baolin Wang
wrote:
We've already set the variable 'i' 's initial value before using it,
thus remove redundant previous assignment of variable 'i'.
...
--- a/mm/filemap.c
+++ b/m
We've already set the variable 'i' 's initial value before using it,
thus remove redundant previous assignment of variable 'i'.
Signed-off-by: Baolin Wang
---
mm/filemap.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index e4
t; `sprd_i2c_probe':
> i2c-sprd.c:(.text.sprd_i2c_probe+0x254): undefined reference to
> `clk_set_parent'
>
> Fixes: 4a2d5f663dab ("i2c: Enable compile testing for more drivers")
> Reported-by: kernel test robot
> Signed-off-by: Krzysztof Kozlowski
LGTM.
by or acked-by tag for the
following version if no other big changes. So again
Reviewed-by: Baolin Wang
> ---
> Changes in v2:
> - make "pinctrl: sprd:" as subject prefix
>
> drivers/pinctrl/sprd/pinctrl-sprd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
: Simplify xxx", otherwise
Reviewed-by: Baolin Wang
> ---
> drivers/pinctrl/sprd/pinctrl-sprd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/sprd/pinctrl-sprd.c
> b/drivers/pinctrl/sprd/pinctrl-sprd.c
> index 08dc193..dca7a5
Since commit 74d609585d8b ("page cache: Add and replace pages using the XArray")
was merged, the replace_page_cache_page() can not fail and always return
0, we can remove the redundant return value and void it. Moreover remove
the unused gfp_mask.
Signed-off-by: Baolin Wang
---
fs/
Hi Jens,
It will be helpful to trace the iocg's whole state, including active and
idle state. And we can easily expand the original iocost_iocg_activate
trace event to support a state trace class, including active and idle
state tracing.
Signed-off-by: Baolin Wang
Could you pick up pa
Hi Tejun,
Hello,
On Fri, Dec 11, 2020 at 03:13:29PM +0800, Baolin Wang wrote:
Thanks for teaching me this, at least I did not get this from the local_ops
Documentation before. Just out of curiosity, these local[64]_t variables are
also allocated from budy allocator ultimately, why they can
Hi Tejun,
Hello,
On Thu, Dec 10, 2020 at 06:56:45PM +0800, Baolin Wang wrote:
Use alloc_percpu_gfp() with __GFP_ZERO flag, which can remove
some explicit initialization code.
__GFP_ZERO is implicit for percpu allocations and local[64]_t's initial
states aren't guaranteed to be al
It will be helpful to trace the iocg's whole state, including active and
idle state. And we can easily expand the original iocost_iocg_activate
trace event to support a state trace class, including active and idle
state tracing.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c
Use alloc_percpu_gfp() with __GFP_ZERO flag, which can remove
some explicit initialization code.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 15 +++
1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index ac6078a..52ce2e3
with the code in patch 3.
- Move the commit_weights() into ioc_check_iocgs().
- Move more related logics of adjusting base vrate into the
ioc_adjust_base_vrate().
- Rename the new functions.
Could you take this patch set if no objection from your side? Thanks.
Baolin Wang (5):
blk
在 2020/12/3 4:32, Tejun Heo 写道:
On Sun, Nov 29, 2020 at 10:37:18AM +0800, Baolin Wang wrote:
The ioc_refreash_vrate() will only be called in ioc_timer_fn() after
starting a new period or stopping the period.
So when starting a new period, the variable 'pleft' in ioc_refreash_
Remove unnecessary return statement for void function.
Signed-off-by: Baolin Wang
---
mm/vmalloc.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 6ae491a..c290fc9 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2275,7 +2275,6 @@ static void __vunmap(const
period's time, the vcomp is 0, and we do not need
compensate the vtime_rate in this case, just set it as the base vrate
and return.
When stopping the period, the ioc->vtime_err will be cleared to 0,
and we also do not need to compensate the vtime_rate, just set it as
the base vrate and retu
Remove unnecessary advance declaration of struct ioc_gq.
Signed-off-by: Baolin Wang
Acked-by: Tejun Heo
---
block/blk-iocost.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index 4ffde36..103ccbd 100644
--- a/block/blk-iocost.c
+++ b/block/blk
in patch 3.
- Move the commit_weights() into ioc_check_iocgs().
- Move more related logics of adjusting base vrate into the
ioc_adjust_base_vrate().
- Rename the new functions.
Baolin Wang (5):
blk-iocost: Fix some typos in comments
blk-iocost: Remove unnecessary advance declaration
blk
Factor out the iocgs' state check into a separate function to
simplify the ioc_timer_fn().
No functional change.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 94 +++---
1 file changed, 54 insertions(+), 40 deletions(-)
diff --git a/
We only use the hweight based usage ratio to calculate the new
hweight_inuse of the iocg to decide if this iocg can donate some
surplus vtime.
Thus move the usage ratio calculation to the correct place to
avoid unnecessary calculation for some vtime shortage iocgs.
Signed-off-by: Baolin Wang
Factor out the base vrate change code into a separate function
to fimplify the ioc_timer_fn().
No functional change.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 99 +-
1 file changed, 54 insertions(+), 45 deletions(-)
diff --git a
Fix some typos in comments.
Signed-off-by: Baolin Wang
Acked-by: Tejun Heo
---
block/blk-iocost.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index bbe86d1..4ffde36 100644
--- a/block/blk-iocost.c
+++ b/block/blk
Hello,
On Tue, Nov 24, 2020 at 11:33:33AM +0800, Baolin Wang wrote:
@@ -1445,7 +1447,8 @@ static void iocg_kick_waitq(struct ioc_gq *iocg, bool
pay_debt,
* after the above debt payment.
*/
ctx.vbudget = vbudget;
- current_hweight(iocg, NULL, &ctx.hw_i
Hello,
On Tue, Nov 24, 2020 at 11:33:36AM +0800, Baolin Wang wrote:
@@ -2320,45 +2358,11 @@ static void ioc_timer_fn(struct timer_list *timer)
ioc->busy_level = clamp(ioc->busy_level, -1000, 1000);
if (ioc->busy_level > 0 || (ioc->busy_level <
Hello,
On Tue, Nov 24, 2020 at 11:33:35AM +0800, Baolin Wang wrote:
-static void ioc_timer_fn(struct timer_list *timer)
+/*
+ * Waiters determine the sleep durations based on the vrate they
+ * saw at the time of sleep. If vrate has increased, some waiters
+ * could be sleeping for too long
在 2020/11/25 20:19, Tejun Heo 写道:
Hello,
@@ -2225,6 +2207,25 @@ static void ioc_timer_fn(struct timer_list *timer)
time_before64(vtime, now.vnow - ioc->margins.low))) {
u32 hwa, old_hwi, hwm, new_hwi;
+ if (vdone != vtime) {
+
On Tue, Nov 24, 2020 at 11:33:32AM +0800, Baolin Wang wrote:
The simple q_name() function is only called from ioc_name(),
just open code it to make code more readable.
Signed-off-by: Baolin Wang
I'm not sure this is an improvement. Either way seems fine to me. So, why
change?
Yes,
Remove unnecessary advance declaration of struct ioc_gq.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index 4ffde36..103ccbd 100644
--- a/block/blk-iocost.c
+++ b/block/blk-iocost.c
@@ -370,8
Factor out the base vrate change code into a separate function
to fimplify the ioc_timer_fn().
No functional change.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 78 --
1 file changed, 41 insertions(+), 37 deletions(-)
diff --git a
Hi,
This patch set did some cleanups and improvements for blk-iocost, and
no big functional changes. Please help to review. Thanks.
Baolin Wang (7):
blk-iocost: Fix some typos in comments
blk-iocost: Remove unnecessary advance declaration
blk-iocost: Just open code the q_name()
blk
We only use the hweight based usage ratio to calculate the new
hweight_inuse of the iocg to decide if this iocg can donate some
surplus vtime.
Thus move the usage ratio calculation to the correct place to
avoid unnecessary calculation for some vtime shortage iocgs.
Signed-off-by: Baolin Wang
The simple q_name() function is only called from ioc_name(),
just open code it to make code more readable.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 11 ---
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index 103ccbd
Factor out the iocgs' state check into a separate function to
simplify the ioc_timer_fn().
No functional change.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 91 ++
1 file changed, 51 insertions(+), 40 deletions(-)
diff --git a/
We can get the hwa and hwi at one time if no debt need to pay off,
thus add a flag to indicate if the hw_inuse has been changed and
need to update, which can avoid calling current_hweight() twice
for no debt iocgs.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 7 +--
1 file changed, 5
Fix some typos in comments.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index bbe86d1..4ffde36 100644
--- a/block/blk-iocost.c
+++ b/block/blk-iocost.c
@@ -39,7 +39,7
Hi Lorenzo,
On Tue, Sep 29, 2020 at 11:41:29PM +0800, Baolin Wang wrote:
Hi,
锟斤拷 2020/9/28 23:23, Lorenzo Pieralisi 写锟斤拷:
On Mon, Sep 28, 2020 at 10:49:57PM +0800, Baolin Wang wrote:
On Mon, Sep 28, 2020 at 03:00:55PM +0100, Will Deacon wrote:
[+ Lorenzo]
On Tue, Sep 22, 2020 at 06:33
Hi,
Use the request's '->mq_hctx->queue_num' directly to simplify the
nvme_req_qid() function.
Signed-off-by: Baolin Wang
Gentle ping?
---
drivers/nvme/host/nvme.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/nvme.h b/dri
Use the request's '->mq_hctx->queue_num' directly to simplify the
nvme_req_qid() function.
Signed-off-by: Baolin Wang
---
drivers/nvme/host/nvme.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
i
Re-use throtl_set_slice_end() to remove duplicate code.
Signed-off-by: Baolin Wang
---
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 fc5c14f..b771c42 100644
--- a/block/blk-throttle.c
+++ b/block/blk
Hi,
This patch set did some improvements for blk throttle, please
help to review. Thanks.
Changes from v1:
- Add another 4 new patches in this patch set.
Baolin Wang (8):
blk-throttle: Remove a meaningless parameter for
throtl_downgrade_state()
blk-throttle: Avoid getting the current
The __throtl_de/enqueue_tg() functions are only be called by
throtl_de/enqueue_tg(), thus we can just open code them to
make code more readable.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 26 +-
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a
The IO latency tracking is only for LOW limit, so we should add a
validation to avoid redundant latency tracking if the LOW limit
is not valid.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/block/blk-throttle.c b/block
It can not scale up in throtl_adjusted_limit() if we set bps or iops is
1, which will cause IO hang when enable low limit. Thus we should treat
1 as a illegal value to avoid this issue.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 8
1 file changed, 4 insertions(+), 4
We only update the tg->last_finish_time when the low limitaion is
enabled, so we can move the tg->last_finish_time validation a little
forward to avoid getting the unnecessary current time stamp if the
the low limitation is not enabled.
Signed-off-by: Baolin Wang
---
block/blk-throttle
throtl_rb_first() to remove the redundant validation in the fast path.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index f1bcb5c..38aed8b 100644
--- a/block/blk-throttle.c
+++ b
The throtl_downgrade_state() is always used to change to LIMIT_LOW
limitation, thus remove the latter meaningless parameter which
indicates the limitation index.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/block
We should move the list operation after validation.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index 0649bce..f1bcb5c 100644
--- a/block/blk-throttle.c
+++ b/block/blk
Hi,
On Mon, Sep 28, 2020 at 08:42:26AM +0800, Baolin Wang wrote:
> Remove redundant 'return' statement for 'void' functions.
>
> Signed-off-by: Baolin Wang
Gentle ping?
> ---
> block/blk-iocost.c| 2 +-
> block/blk-iolatency.c | 2 +-
> 2 fi
On Tue, Sep 29, 2020 at 11:41:29PM +0800, Baolin Wang wrote:
Hi,
锟斤拷 2020/9/28 23:23, Lorenzo Pieralisi 写锟斤拷:
On Mon, Sep 28, 2020 at 10:49:57PM +0800, Baolin Wang wrote:
On Mon, Sep 28, 2020 at 03:00:55PM +0100, Will Deacon wrote:
[+ Lorenzo]
On Tue, Sep 22, 2020 at 06:33:24PM +0800
Hi,
在 2020/9/28 23:23, Lorenzo Pieralisi 写道:
On Mon, Sep 28, 2020 at 10:49:57PM +0800, Baolin Wang wrote:
On Mon, Sep 28, 2020 at 03:00:55PM +0100, Will Deacon wrote:
[+ Lorenzo]
On Tue, Sep 22, 2020 at 06:33:24PM +0800, Baolin Wang wrote:
If the BIOS disabled the NUMA configuration, but
Hi Jens,
Hi,
This patch set did some improvements for blk throttle, please
help to review. Thanks.
Do you have any comments for this patch set? Thanks.
Baolin Wang (4):
blk-throttle: Remove a meaningless parameter for
throtl_downgrade_state()
blk-throttle: Avoid getting the
On Mon, Sep 28, 2020 at 03:00:55PM +0100, Will Deacon wrote:
> [+ Lorenzo]
>
> On Tue, Sep 22, 2020 at 06:33:24PM +0800, Baolin Wang wrote:
> > If the BIOS disabled the NUMA configuration, but did not change the
> > proximity domain description in the SRAT table, so the PC
Remove redundant 'return' statement for 'void' functions.
Signed-off-by: Baolin Wang
---
block/blk-iocost.c| 2 +-
block/blk-iolatency.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index ef9476f..e38c40
pci_acpi_root_get_node() does for X86
architecture.
Signed-off-by: Baolin Wang
---
arch/arm64/kernel/pci.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
index 1006ed2..24fe2bd 100644
--- a/arch/arm64/kernel/pci.c
+++ b/arch/arm64
The IO latency tracking is only for LOW limit, so we should add a
validation to avoid redundant latency tracking if the LOW limit
is not valid.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/block/blk-throttle.c b/block
It can not scale up in throtl_adjusted_limit() if we set bps or iops is
1, which will cause IO hang when enable low limit. Thus we should treat
1 as a illegal value to avoid this issue.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 8
1 file changed, 4 insertions(+), 4
We only update the tg->last_finish_time when the low limitaion is
enabled, so we can move the tg->last_finish_time validation a little
forward to avoid getting the unnecessary current time stamp if the
the low limitation is not enabled.
Signed-off-by: Baolin Wang
---
block/blk-throttle
Hi,
This patch set did some improvements for blk throttle, please
help to review. Thanks.
Baolin Wang (4):
blk-throttle: Remove a meaningless parameter for
throtl_downgrade_state()
blk-throttle: Avoid getting the current time if tg->last_finish_time
is 0
blk-throttle: Av
The throtl_downgrade_state() is always used to change to LIMIT_LOW
limitation, thus remove the latter meaningless parameter which
indicates the limitation index.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/block
Hi Jens,
On Mon, Sep 14, 2020 at 07:37:53PM -0600, Jens Axboe wrote:
> On 9/7/20 2:10 AM, Baolin Wang wrote:
> > Hi All,
> >
> > This patch set did some clean-ups, as well as removing some unnecessary
> > bps/iops limitation calculation when checking if can dispatc
Hi Tejun and Jens,
On Mon, Sep 07, 2020 at 04:10:12PM +0800, Baolin Wang wrote:
> Hi All,
>
> This patch set did some clean-ups, as well as removing some unnecessary
> bps/iops limitation calculation when checking if can dispatch a bio or
> not for a tg. Please help to revie
Now we usually free the hctx->sched_data by e->type->ops.exit_hctx(),
and no users will use blk_mq_sched_free_hctx_data() function.
Remove it.
Signed-off-by: Baolin Wang
---
block/blk-mq-sched.c | 15 ---
block/blk-mq-sched.h | 3 ---
2 files changed, 18 deletions(-)
dif
tg_may_dispatch().
So we can calculate the bps/iops limitation only once, and pass
them to tg_with_in_bps_limit() and tg_with_in_iops_limit() to
avoid calculating bps/iops limitation repeatedly.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 19 ++-
1 file changed, 10
Do not need check the bps or iops limitation if bps or iops is unlimited.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 12
1 file changed, 12 insertions(+)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index 8719e37..36ba61c 100644
--- a/block/blk-throttle.c
The 'throtl_grp_quantum' and 'throtl_quantum' are both read-only
variables, thus better to use readable macros instead of static
variables, which can also save some spaces for .bss area.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 10 +-
1 file changed
Fix some comments' typos.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index fee3325..2fc6c3e 100644
--- a/block/blk-throttle.c
+++ b/block/blk-throt
Use readable READ/WRITE macros instead of magic numbers.
Signed-off-by: Baolin Wang
---
block/blk-throttle.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index 2fc6c3e..06e73ed 100644
--- a/block/blk-throttle.c
+++ b/block
Hi All,
This patch set did some clean-ups, as well as removing some unnecessary
bps/iops limitation calculation when checking if can dispatch a bio or
not for a tg. Please help to review. Thanks.
Baolin Wang (5):
blk-throttle: Fix some comments' typos
blk-throttle: Use readable READ/
Remove a duplicative condition to remove below cppcheck warnings:
"warning: Redundant condition: sched_allow_merge. '!A || (A && B)' is
equivalent to '!A || B' [redundantCondition]"
Reported-by: kernel test robot
Signed-off-by: Baolin Wang
---
block/blk
1 - 100 of 1129 matches
Mail list logo