mbox series

[BUGFIX,IMPROVEMENT,0/8] block, bfq: fix bugs, reduce exec time and boost performance

Message ID 20190307162554.77205-1-paolo.valente@linaro.org (mailing list archive)
Headers show
Series block, bfq: fix bugs, reduce exec time and boost performance | expand

Message

Paolo Valente March 7, 2019, 4:25 p.m. UTC
Hi,
since I didn't make it to submit these ones for 5.1, let me be
early for 5.2 :)

These patches fix some bug affecting performance, reduce execution
time a little bit, and boost throughput and responsiveness.

They are meant to be applied on top of the last series I submitted:
https://lkml.org/lkml/2019/1/29/368

Thanks,
Paolo

Francesco Pollicino (2):
  block, bfq: print SHARED instead of pid for shared queues in logs
  block, bfq: save & resume weight on a queue merge/split

Paolo Valente (6):
  block, bfq: increase idling for weight-raised queues
  block, bfq: do not idle for lowest-weight queues
  block, bfq: tune service injection basing on request service times
  block, bfq: do not merge queues on flash storage with queueing
  block, bfq: do not tag totally seeky queues as soft rt
  block, bfq: always protect newly-created queues from existing active
    queues

 block/bfq-cgroup.c  |   3 +-
 block/bfq-iosched.c | 786 ++++++++++++++++++++++++++++++++++++--------
 block/bfq-iosched.h |  87 +++--
 block/bfq-wf2q.c    |   2 +-
 4 files changed, 704 insertions(+), 174 deletions(-)

--
2.20.1

Comments

Holger Hoffstätte March 7, 2019, 6:29 p.m. UTC | #1
On 3/7/19 5:25 PM, Paolo Valente wrote:
> Hi,
> since I didn't make it to submit these ones for 5.1, let me be
> early for 5.2 :)
> 
> These patches fix some bug affecting performance, reduce execution
> time a little bit, and boost throughput and responsiveness.
> 
> They are meant to be applied on top of the last series I submitted:
> https://lkml.org/lkml/2019/1/29/368

I have the earlier series applied & working well. This one applies cleanly
on top, but something's wrong with the bfq_log_bfqq() macro:

   CC [M]  block/bfq-iosched.o
In file included from block/bfq-iosched.c:140:
block/bfq-iosched.c: In function 'bfq_check_fifo':
block/bfq-iosched.h:1058:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   char pid_str[MAX_PID_STR_LENGTH]; \
   ^~~~
block/bfq-iosched.c:890:2: note: in expansion of macro 'bfq_log_bfqq'
   bfq_log_bfqq(bfqq->bfqd, bfqq, "check_fifo: returned %p", rq);
   ^~~~~~~~~~~~
block/bfq-iosched.c: In function 'bfq_updated_next_req':
block/bfq-iosched.h:1058:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

This is with gcc 8.3.0 on top of 5.0++.

thanks,
Holger
Oleksandr Natalenko March 7, 2019, 10:04 p.m. UTC | #2
Hi.

On 07.03.2019 17:25, Paolo Valente wrote:
> since I didn't make it to submit these ones for 5.1, let me be
> early for 5.2 :)
> 
> These patches fix some bug affecting performance, reduce execution
> time a little bit, and boost throughput and responsiveness.
> 
> They are meant to be applied on top of the last series I submitted:
> https://lkml.org/lkml/2019/1/29/368
> 
> Thanks,
> Paolo
> 
> Francesco Pollicino (2):
>   block, bfq: print SHARED instead of pid for shared queues in logs
>   block, bfq: save & resume weight on a queue merge/split
> 
> Paolo Valente (6):
>   block, bfq: increase idling for weight-raised queues
>   block, bfq: do not idle for lowest-weight queues
>   block, bfq: tune service injection basing on request service times
>   block, bfq: do not merge queues on flash storage with queueing
>   block, bfq: do not tag totally seeky queues as soft rt
>   block, bfq: always protect newly-created queues from existing active
>     queues
> 
>  block/bfq-cgroup.c  |   3 +-
>  block/bfq-iosched.c | 786 ++++++++++++++++++++++++++++++++++++--------
>  block/bfq-iosched.h |  87 +++--
>  block/bfq-wf2q.c    |   2 +-
>  4 files changed, 704 insertions(+), 174 deletions(-)
> 
> --
> 2.20.1

Fails for me with:

===
[11966s] ld: block/bfq-wf2q.o: in function `bfq_pid_to_str':
[11966s] bfq-wf2q.c:(.text+0x3b0): multiple definition of 
`bfq_pid_to_str'; block/bfq-iosched.o:bfq-iosched.c:(.text+0x1ab0): 
first defined here
[11966s] ld: block/bfq-cgroup.o: in function `bfq_pid_to_str':
[11966s] bfq-cgroup.c:(.text+0x3a0): multiple definition of 
`bfq_pid_to_str'; block/bfq-iosched.o:bfq-iosched.c:(.text+0x1ab0): 
first defined here
[11966s] make: *** [Makefile:1021: vmlinux] Error 1
===