* Paul E. McKenney wrote:
> On Sun, Jan 15, 2017 at 08:11:23AM +0100, Ingo Molnar wrote:
> >
> > * Paul E. McKenney wrote:
> >
> > > diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> > > index 357b32aaea48..5fdfe874229e
* Paul E. McKenney wrote:
> On Sun, Jan 15, 2017 at 08:11:23AM +0100, Ingo Molnar wrote:
> >
> > * Paul E. McKenney wrote:
> >
> > > diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> > > index 357b32aaea48..5fdfe874229e 100644
> > > --- a/include/linux/rcupdate.h
> > > +++
On Sun, Jan 15, 2017 at 08:11:23AM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney wrote:
>
> > diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> > index 357b32aaea48..5fdfe874229e 100644
> > --- a/include/linux/rcupdate.h
> > +++
On Sun, Jan 15, 2017 at 08:11:23AM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney wrote:
>
> > diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> > index 357b32aaea48..5fdfe874229e 100644
> > --- a/include/linux/rcupdate.h
> > +++ b/include/linux/rcupdate.h
> > @@ -1175,11
Removed macros not in use.
Signed-off-by: Kartikey Singh
---
drivers/staging/rtl8188eu/include/wifi.h | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/staging/rtl8188eu/include/wifi.h
b/drivers/staging/rtl8188eu/include/wifi.h
Removed macros not in use.
Signed-off-by: Kartikey Singh
---
drivers/staging/rtl8188eu/include/wifi.h | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/staging/rtl8188eu/include/wifi.h
b/drivers/staging/rtl8188eu/include/wifi.h
index 9e08e68..9c9c334
> Subject: Re: [char-misc for 4.10-rc4 V2] mei: bus: enable OS version only for
> SPT
> and newer
>
> On Sat, Jan 14, 2017 at 08:27:31PM +0100, Paul Menzel wrote:
> > Dear Greg,
> >
> >
> > On 2017-01-13 14:00, Greg Kroah-Hartman wrote:
> > > On Wed, Jan 11, 2017 at 03:26:06PM +0100, Paul Menzel
> Subject: Re: [char-misc for 4.10-rc4 V2] mei: bus: enable OS version only for
> SPT
> and newer
>
> On Sat, Jan 14, 2017 at 08:27:31PM +0100, Paul Menzel wrote:
> > Dear Greg,
> >
> >
> > On 2017-01-13 14:00, Greg Kroah-Hartman wrote:
> > > On Wed, Jan 11, 2017 at 03:26:06PM +0100, Paul Menzel
Hi Jaewon,
with all comments above, some of my concerns.
On Mon, Dec 26, 2016 at 01:18:11PM +0900, Jaewon Kim wrote:
> There was no bitmap API which returns both next zero index and size of zeros
> from that index.
Yes, there is. Most probably because this function is not needed.
Typical
Hi Jaewon,
with all comments above, some of my concerns.
On Mon, Dec 26, 2016 at 01:18:11PM +0900, Jaewon Kim wrote:
> There was no bitmap API which returns both next zero index and size of zeros
> from that index.
Yes, there is. Most probably because this function is not needed.
Typical
Changed file permissions to octal.
Found with checkpatch.
Signed-off-by: Derek Robson
---
drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
Changed file permissions to octal.
Found with checkpatch.
Signed-off-by: Derek Robson
---
drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
* Paul E. McKenney wrote:
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 357b32aaea48..5fdfe874229e 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -1175,11 +1175,11 @@ do { \
> * if the UNLOCK and LOCK are
* Paul E. McKenney wrote:
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 357b32aaea48..5fdfe874229e 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -1175,11 +1175,11 @@ do { \
> * if the UNLOCK and LOCK are executed by the same CPU or
Hi Jaechul,
On Mon, Jan 09, 2017 at 04:22:14PM +0900, Jaechul Lee wrote:
> +static irqreturn_t tm2_touchkey_irq_handler(int irq, void *devid)
> +{
> + struct tm2_touchkey_data *touchkey = devid;
> + u32 data;
> +
> + data = i2c_smbus_read_byte_data(touchkey->client,
> +
Hi Jaechul,
On Mon, Jan 09, 2017 at 04:22:14PM +0900, Jaechul Lee wrote:
> +static irqreturn_t tm2_touchkey_irq_handler(int irq, void *devid)
> +{
> + struct tm2_touchkey_data *touchkey = devid;
> + u32 data;
> +
> + data = i2c_smbus_read_byte_data(touchkey->client,
> +
* Paul E. McKenney wrote:
> > > + */
> > > +#ifdef CONFIG_PPC
> > > +#define smp_mb__after_unlock_lock() smp_mb() /* Full ordering for
> > > lock. */
> > > +#else /* #ifdef CONFIG_PPC */
> > > +#define smp_mb__after_unlock_lock() do { } while (0)
> > >
* Paul E. McKenney wrote:
> > > + */
> > > +#ifdef CONFIG_PPC
> > > +#define smp_mb__after_unlock_lock() smp_mb() /* Full ordering for
> > > lock. */
> > > +#else /* #ifdef CONFIG_PPC */
> > > +#define smp_mb__after_unlock_lock() do { } while (0)
> > > +#endif /* #else #ifdef
Hi Rich,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: f4d3935e4f4884ba80561db5549394afb8eef8f7
commit: 190fe191cfbead9fe089453dd092869c9469c6d4 sh: add support for linking a
builtin device tree blob in the
Hi Rich,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: f4d3935e4f4884ba80561db5549394afb8eef8f7
commit: 190fe191cfbead9fe089453dd092869c9469c6d4 sh: add support for linking a
builtin device tree blob in the
On 2017-01-12 Michal Hocko wrote:
> On Wed 11-01-17 16:52:32, Trevor Cordes wrote:
> [...]
> > I'm not sure how I can tell if my bug is because of memcgs so here
> > is a full first oom example (attached).
>
> 4.7 kernel doesn't contain 71c799f4982d ("mm: add per-zone lru list
> stat") so the
On 2017-01-12 Michal Hocko wrote:
> On Wed 11-01-17 16:52:32, Trevor Cordes wrote:
> [...]
> > I'm not sure how I can tell if my bug is because of memcgs so here
> > is a full first oom example (attached).
>
> 4.7 kernel doesn't contain 71c799f4982d ("mm: add per-zone lru list
> stat") so the
On Sat, 14 Jan 2017, Johannes Weiner wrote:
> The OOM killer livelock was the motivation for this patch. With that
> ruled out, what's the point of this patch? Try a bit less hard to move
> charges during task migration?
>
Most important part is to fail ->can_attach() instead of oom killing
On Sat, 14 Jan 2017, Johannes Weiner wrote:
> The OOM killer livelock was the motivation for this patch. With that
> ruled out, what's the point of this patch? Try a bit less hard to move
> charges during task migration?
>
Most important part is to fail ->can_attach() instead of oom killing
On Sat, Jan 14, 2017 at 01:13:36PM -0800, Josh Triplett wrote:
> On Sat, Jan 14, 2017 at 01:25:33AM -0800, Paul E. McKenney wrote:
> > Hello!
> >
> > This series provides torture-test updates:
> >
> > 1. Add a check for CONFIG_RCU_STALL_COMMON for TINY01, in order
> > to complain if this
On Sat, Jan 14, 2017 at 01:13:36PM -0800, Josh Triplett wrote:
> On Sat, Jan 14, 2017 at 01:25:33AM -0800, Paul E. McKenney wrote:
> > Hello!
> >
> > This series provides torture-test updates:
> >
> > 1. Add a check for CONFIG_RCU_STALL_COMMON for TINY01, in order
> > to complain if this
Hi Stefan,
[auto build test ERROR on linus/master]
[also build test ERROR on v4.10-rc3 next-20170113]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
Hi Stefan,
[auto build test ERROR on linus/master]
[also build test ERROR on v4.10-rc3 next-20170113]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
On Sat, Jan 14, 2017 at 12:45:08PM -0800, Josh Triplett wrote:
> On Sat, Jan 14, 2017 at 12:50:32AM -0800, Paul E. McKenney wrote:
> > Hello!
> >
> > This series provides documentation updates:
> >
> > 1. Add Design documentation for expedited grace periods.
> >
> > 2. Fix RCU requirements
On Sat, Jan 14, 2017 at 12:45:08PM -0800, Josh Triplett wrote:
> On Sat, Jan 14, 2017 at 12:50:32AM -0800, Paul E. McKenney wrote:
> > Hello!
> >
> > This series provides documentation updates:
> >
> > 1. Add Design documentation for expedited grace periods.
> >
> > 2. Fix RCU requirements
On Thu, Jan 12, 2017 at 07:15:05PM +0200, Stanimir Varbanov wrote:
> This scm call is used to change the video core state, more
> specifically it is used to suspend and resume the core.
>
> Signed-off-by: Stanimir Varbanov
> ---
It appears we have another patch
On Thu, Jan 12, 2017 at 07:15:05PM +0200, Stanimir Varbanov wrote:
> This scm call is used to change the video core state, more
> specifically it is used to suspend and resume the core.
>
> Signed-off-by: Stanimir Varbanov
> ---
It appears we have another patch coming in that implements the
On Sat, Jan 14, 2017 at 11:35:25AM +0100, Borislav Petkov wrote:
> On Sat, Jan 14, 2017 at 12:00:22AM -0800, Paul E. McKenney wrote:
> > It now looks like this:
> >
> >
> >
> > Note that the code was buggy even before this
On Sat, Jan 14, 2017 at 11:35:25AM +0100, Borislav Petkov wrote:
> On Sat, Jan 14, 2017 at 12:00:22AM -0800, Paul E. McKenney wrote:
> > It now looks like this:
> >
> >
> >
> > Note that the code was buggy even before this
On 01/14/2017 03:07 PM, Stafford Horne wrote:
Hi All,
This is another set of patches which I have been pulling out of the
openrisc backlogs. Its a bit of a process since I need to cleanup commit
messages, review and test the patches.
The interesting things here are:
- optimized memset and
On 01/14/2017 03:07 PM, Stafford Horne wrote:
Hi All,
This is another set of patches which I have been pulling out of the
openrisc backlogs. Its a bit of a process since I need to cleanup commit
messages, review and test the patches.
The interesting things here are:
- optimized memset and
Declare dev_pm_ops structures as const as they are only stored in the pm
field of a vio_driver structure. This field is of type const, so
dev_pm_ops structures having similar properties can be declared const.
Done using Coccinelle:
@r1 disable optional_qualifier@
identifier i;
position p;
@@
Declare dev_pm_ops structures as const as they are only stored in the pm
field of a vio_driver structure. This field is of type const, so
dev_pm_ops structures having similar properties can be declared const.
Done using Coccinelle:
@r1 disable optional_qualifier@
identifier i;
position p;
@@
Hi folks,
while looking through driver initialization and removal functions, I noticed
that many drivers
call device_init_wakeup(dev, false) in the removal function. Given that the
driver is about
to be removed, that doesn't make much sense to me, especially since
device_wakeup_disable()
is
Hi folks,
while looking through driver initialization and removal functions, I noticed
that many drivers
call device_init_wakeup(dev, false) in the removal function. Given that the
driver is about
to be removed, that doesn't make much sense to me, especially since
device_wakeup_disable()
is
On Sun, 15 Jan 2017, Michael Schmitz wrote:
> Am 15.01.2017 um 12:47 schrieb Finn Thain:
>
> > For the sake of discussion, I'll assume that the FDC driver will not
> > be using DMA. (Perhaps FDC and SCSI can share the ST-DMA chip, using
> > the present locking mechanism, but it would not
On Sun, 15 Jan 2017, Michael Schmitz wrote:
> Am 15.01.2017 um 12:47 schrieb Finn Thain:
>
> > For the sake of discussion, I'll assume that the FDC driver will not
> > be using DMA. (Perhaps FDC and SCSI can share the ST-DMA chip, using
> > the present locking mechanism, but it would not
-Redesign-driver-to-accommodate-ngpios-in-one-gpio-chip/20170114-204048
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
for-next
config: arm-davinci_all_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget
-Redesign-driver-to-accommodate-ngpios-in-one-gpio-chip/20170114-204048
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
for-next
config: arm-davinci_all_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget
The suspend/resume functions were using dev_to_iio_dev() to get
the iio_dev. That only works on IIO dev's. Replace it with i2c
functions to get the correct iio_dev.
Signed-off-by: Alison Schofield
---
drivers/iio/health/afe4404.c | 4 ++--
1 file changed, 2 insertions(+),
The suspend/resume functions were using dev_to_iio_dev() to get
the iio_dev. That only works on IIO dev's. Replace it with spi
functions to get the correct iio_dev.
Signed-off-by: Alison Schofield
---
drivers/iio/health/afe4403.c | 4 ++--
1 file changed, 2 insertions(+),
The suspend/resume functions were using dev_to_iio_dev() to get
the iio_dev. That only works on IIO dev's. Replace it with i2c
functions to get the correct iio_dev.
Signed-off-by: Alison Schofield
---
drivers/iio/health/afe4404.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
The suspend/resume functions were using dev_to_iio_dev() to get
the iio_dev. That only works on IIO dev's. Replace it with spi
functions to get the correct iio_dev.
Signed-off-by: Alison Schofield
---
drivers/iio/health/afe4403.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
cgroup could be assigned a limit, but doesn't dispatch enough IO, eg the
cgroup is idle. When this happens, the cgroup doesn't hit its limit, so
we can't move the state machine to higher level and all cgroups will be
throttled to their lower limit, so we waste bandwidth. Detecting idle
cgroup is
cgroup could be assigned a limit, but doesn't dispatch enough IO, eg the
cgroup is idle. When this happens, the cgroup doesn't hit its limit, so
we can't move the state machine to higher level and all cgroups will be
throttled to their lower limit, so we waste bandwidth. Detecting idle
cgroup is
cgroup could be throttled to a limit but when all cgroups cross high
limit, queue enters a higher state and so the group should be throttled
to a higher limit. It's possible the cgroup is sleeping because of
throttle and other cgroups don't dispatch IO any more. In this case,
nobody can trigger
cgroup could be throttled to a limit but when all cgroups cross high
limit, queue enters a higher state and so the group should be throttled
to a higher limit. It's possible the cgroup is sleeping because of
throttle and other cgroups don't dispatch IO any more. In this case,
nobody can trigger
User configures latency target, but the latency threshold for each
request size isn't fixed. For a SSD, the IO latency highly depends on
request size. To calculate latency threshold, we sample some data, eg,
average latency for request size 4k, 8k, 16k, 32k .. 1M. The latency
threshold of each
User configures latency target, but the latency threshold for each
request size isn't fixed. For a SSD, the IO latency highly depends on
request size. To calculate latency threshold, we sample some data, eg,
average latency for request size 4k, 8k, 16k, 32k .. 1M. The latency
threshold of each
When cgroups all reach low limit, cgroups can dispatch more IO. This
could make some cgroups dispatch more IO but others not, and even some
cgroups could dispatch less IO than their low limit. For example, cg1
low limit 10MB/s, cg2 limit 80MB/s, assume disk maximum bandwidth is
120M/s for the
When cgroups all reach low limit, cgroups can dispatch more IO. This
could make some cgroups dispatch more IO but others not, and even some
cgroups could dispatch less IO than their low limit. For example, cg1
low limit 10MB/s, cg2 limit 80MB/s, assume disk maximum bandwidth is
120M/s for the
Currently there is no way to know the request size when the request is
finished. Next patch will need this info. We could add extra field to
record the size, but blk_issue_stat has enough space to record it, so
this patch just overloads blk_issue_stat. With this, we will have 49bits
to track time,
On Sat, Jan 14, 2017 at 10:35:50AM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney wrote:
>
> > If a process invokes synchronize_srcu(), is delayed just the right amount
> > of time, and thus does not sleep when waiting for the grace period to
> > complete, there is
Currently there is no way to know the request size when the request is
finished. Next patch will need this info. We could add extra field to
record the size, but blk_issue_stat has enough space to record it, so
this patch just overloads blk_issue_stat. With this, we will have 49bits
to track time,
On Sat, Jan 14, 2017 at 10:35:50AM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney wrote:
>
> > If a process invokes synchronize_srcu(), is delayed just the right amount
> > of time, and thus does not sleep when waiting for the grace period to
> > complete, there is no ordering between the end
clean up the code to avoid using -1
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index a6bb4fe..e45bf50 100644
---
clean up the code to avoid using -1
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index a6bb4fe..e45bf50 100644
--- a/block/blk-throttle.c
+++
throtl_slice is important for blk-throttling. It's called slice
internally but it really is a time window blk-throttling samples data.
blk-throttling will make decision based on the samplings. An example is
bandwidth measurement. A cgroup's bandwidth is measured in the time
interval of
On Sat, Jan 14, 2017 at 10:31:15AM +0100, Ingo Molnar wrote:
>
> Noticed a few minor nits:
And thank you for the review and comments!
> * Paul E. McKenney wrote:
>
> > From: Lance Roy
> >
> > SRCU uses two per-cpu counters: a nesting counter to
throtl_slice is important for blk-throttling. It's called slice
internally but it really is a time window blk-throttling samples data.
blk-throttling will make decision based on the samplings. An example is
bandwidth measurement. A cgroup's bandwidth is measured in the time
interval of
On Sat, Jan 14, 2017 at 10:31:15AM +0100, Ingo Molnar wrote:
>
> Noticed a few minor nits:
And thank you for the review and comments!
> * Paul E. McKenney wrote:
>
> > From: Lance Roy
> >
> > SRCU uses two per-cpu counters: a nesting counter to count the number of
> > active critical
On Sat, Jan 14, 2017 at 11:54:17AM -0800, Paul E. McKenney wrote:
> On Sat, Jan 14, 2017 at 10:35:50AM +0100, Ingo Molnar wrote:
> > * Paul E. McKenney wrote:
[ . . . ]
> > > + */
> > > +#ifdef CONFIG_PPC
> > > +#define smp_mb__after_unlock_lock() smp_mb() /*
Add interface to configure the threshold. The io.low interface will
like:
echo "8:16 rbps=2097152 wbps=max idle=2000" > io.low
idle is in microsecond unit.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 41 -
1 file changed, 28
On Sat, Jan 14, 2017 at 11:54:17AM -0800, Paul E. McKenney wrote:
> On Sat, Jan 14, 2017 at 10:35:50AM +0100, Ingo Molnar wrote:
> > * Paul E. McKenney wrote:
[ . . . ]
> > > + */
> > > +#ifdef CONFIG_PPC
> > > +#define smp_mb__after_unlock_lock() smp_mb() /* Full ordering for
> > >
Add interface to configure the threshold. The io.low interface will
like:
echo "8:16 rbps=2097152 wbps=max idle=2000" > io.low
idle is in microsecond unit.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 41 -
1 file changed, 28 insertions(+), 13
When queue state machine is in LIMIT_MAX state, but a cgroup is below
its low limit for some time, the queue should be downgraded to lower
state as one cgroup's low limit isn't met.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 156
When queue state machine is in LIMIT_MAX state, but a cgroup is below
its low limit for some time, the queue should be downgraded to lower
state as one cgroup's low limit isn't met.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 156 +++
1
Here we introduce per-cgroup latency target. The target determines how a
cgroup can afford latency increasement. We will use the target latency
to calculate a threshold and use it to schedule IO for cgroups. If a
cgroup's bandwidth is below its low limit but its average latency is
below the
Here we introduce per-cgroup latency target. The target determines how a
cgroup can afford latency increasement. We will use the target latency
to calculate a threshold and use it to schedule IO for cgroups. If a
cgroup's bandwidth is below its low limit but its average latency is
below the
When queue is in LIMIT_LOW state and all cgroups with low limit cross
the bps/iops limitation, we will upgrade queue's state to
LIMIT_MAX. To determine if a cgroup exceeds its limitation, we check if
the cgroup has pending request. Since cgroup is throttled according to
the limit, pending request
When queue is in LIMIT_LOW state and all cgroups with low limit cross
the bps/iops limitation, we will upgrade queue's state to
LIMIT_MAX. To determine if a cgroup exceeds its limitation, we check if
the cgroup has pending request. Since cgroup is throttled according to
the limit, pending request
We are going to support low/max limit, each cgroup will have 2 limits
after that. This patch prepares for the multiple limits change.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 110 ---
1 file changed, 70 insertions(+), 40
We are going to support low/max limit, each cgroup will have 2 limits
after that. This patch prepares for the multiple limits change.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 110 ---
1 file changed, 70 insertions(+), 40 deletions(-)
The throtl_slice is 100ms by default. This is a long time for SSD, a lot
of IO can run. To make cgroups have smoother throughput, we choose a
small value (20ms) for SSD.
Signed-off-by: Shaohua Li
---
block/blk-sysfs.c| 2 ++
block/blk-throttle.c | 18 +++---
A cgroup gets assigned a low limit, but the cgroup could never dispatch
enough IO to cross the low limit. In such case, the queue state machine
will remain in LIMIT_LOW state and all other cgroups will be throttled
according to low limit. This is unfair for other cgroups. We should
treat the
The throtl_slice is 100ms by default. This is a long time for SSD, a lot
of IO can run. To make cgroups have smoother throughput, we choose a
small value (20ms) for SSD.
Signed-off-by: Shaohua Li
---
block/blk-sysfs.c| 2 ++
block/blk-throttle.c | 18 +++---
block/blk.h
A cgroup gets assigned a low limit, but the cgroup could never dispatch
enough IO to cross the low limit. In such case, the queue state machine
will remain in LIMIT_LOW state and all other cgroups will be throttled
according to low limit. This is unfair for other cgroups. We should
treat the
Last patch introduces a way to detect idle cgroup. We use it to make
upgrade/downgrade decision. And the new algorithm can detect completely
idle cgroup too, so we can delete the corresponding code.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 40
One hard problem adding .low limit is to detect idle cgroup. If one
cgroup doesn't dispatch enough IO against its low limit, we must have a
mechanism to determine if other cgroups dispatch more IO. We added the
think time detection mechanism before, but it doesn't work for all
workloads. Here we
Last patch introduces a way to detect idle cgroup. We use it to make
upgrade/downgrade decision. And the new algorithm can detect completely
idle cgroup too, so we can delete the corresponding code.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 40 ++--
One hard problem adding .low limit is to detect idle cgroup. If one
cgroup doesn't dispatch enough IO against its low limit, we must have a
mechanism to determine if other cgroups dispatch more IO. We added the
think time detection mechanism before, but it doesn't work for all
workloads. Here we
each queue will have a state machine. Initially queue is in LIMIT_LOW
state, which means all cgroups will be throttled according to their low
limit. After all cgroups with low limit cross the limit, the queue state
gets upgraded to LIMIT_MAX state.
For max limit, cgroup will use the limit
each queue will have a state machine. Initially queue is in LIMIT_LOW
state, which means all cgroups will be throttled according to their low
limit. After all cgroups with low limit cross the limit, the queue state
gets upgraded to LIMIT_MAX state.
For max limit, cgroup will use the limit
Add low limit for cgroup and corresponding cgroup interface. To be
consistent with memcg, we allow users configure .low limit higher than
.max limit. But the internal logic always assumes .low limit is lower
than .max limit. So we add extra bps/iops_conf fields in throtl_grp for
userspace
Add low limit for cgroup and corresponding cgroup interface. To be
consistent with memcg, we allow users configure .low limit higher than
.max limit. But the internal logic always assumes .low limit is lower
than .max limit. So we add extra bps/iops_conf fields in throtl_grp for
userspace
Hi,
cgroup still lacks a good iocontroller. CFQ works well for hard disk, but not
much for SSD. This patch set try to add a conservative limit for blk-throttle.
It isn't a proportional scheduling, but can help prioritize cgroups. There are
several advantages we choose blk-throttle:
- blk-throttle
Hi,
cgroup still lacks a good iocontroller. CFQ works well for hard disk, but not
much for SSD. This patch set try to add a conservative limit for blk-throttle.
It isn't a proportional scheduling, but can help prioritize cgroups. There are
several advantages we choose blk-throttle:
- blk-throttle
On 01/15/2017 12:54 AM, Eduardo Valentin wrote:
Folks,
On Wed, Jan 04, 2017 at 12:30:40AM +0800, ayaka wrote:
On 01/03/2017 09:13 AM, Randy Li wrote:
On 01/03/2017 09:02 AM, Caesar Wang wrote:
在 2017年01月03日 07:57, Randy Li 写道:
On 01/02/2017 09:16 PM, Caesar Wang wrote:
在 2016年12月31日
On 01/15/2017 12:54 AM, Eduardo Valentin wrote:
Folks,
On Wed, Jan 04, 2017 at 12:30:40AM +0800, ayaka wrote:
On 01/03/2017 09:13 AM, Randy Li wrote:
On 01/03/2017 09:02 AM, Caesar Wang wrote:
在 2017年01月03日 07:57, Randy Li 写道:
On 01/02/2017 09:16 PM, Caesar Wang wrote:
在 2016年12月31日
Le 01/04/17 à 14:39, Florian Fainelli a écrit :
> This patch series builds on top of Laura's [PATCHv6 00/10]
> CONFIG_DEBUG_VIRTUAL
> for arm64 to add support for CONFIG_DEBUG_VIRTUAL for ARM.
>
> This was tested on a Brahma B15 platform (ARMv7 + HIGHMEM + LPAE).
>
> Note that the treewide
Le 01/04/17 à 14:39, Florian Fainelli a écrit :
> This patch series builds on top of Laura's [PATCHv6 00/10]
> CONFIG_DEBUG_VIRTUAL
> for arm64 to add support for CONFIG_DEBUG_VIRTUAL for ARM.
>
> This was tested on a Brahma B15 platform (ARMv7 + HIGHMEM + LPAE).
>
> Note that the treewide
Hi James,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: f0ad17712b9f71c24e2b8b9725230ef57232377f
commit: 034827c727f7f3946a18355b63995b402c226c82 MIPS: Fix -mabi=64 build of
vdso.lds
date: 3 months ago
config:
Hi James,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: f0ad17712b9f71c24e2b8b9725230ef57232377f
commit: 034827c727f7f3946a18355b63995b402c226c82 MIPS: Fix -mabi=64 build of
vdso.lds
date: 3 months ago
config:
Peter,
On 1/11/17 18:57, Peter Zijlstra wrote:
On Mon, Jan 09, 2017 at 09:33:41PM -0600, Suravee Suthikulpanit wrote:
This patch contains the following minor fixup:
* Fixed overflow handling since u64 delta would lose the MSB sign bit.
Please explain.. afaict this actually introduces a
Peter,
On 1/11/17 18:57, Peter Zijlstra wrote:
On Mon, Jan 09, 2017 at 09:33:41PM -0600, Suravee Suthikulpanit wrote:
This patch contains the following minor fixup:
* Fixed overflow handling since u64 delta would lose the MSB sign bit.
Please explain.. afaict this actually introduces a
1 - 100 of 652 matches
Mail list logo