On 9/21/18 2:34 PM, Bart Van Assche wrote:
> Make it easier to understand the purpose of the functions that iterate
> over requests by documenting their purpose. Fix several minor spelling
> and grammer mistakes in comments in these functions.
Applied, thanks Bart.
--
Jens Axboe
On 9/21/18 5:44 PM, Omar Sandoval wrote:
> From: Omar Sandoval
>
> Klaus Kusche reported that the I/O busy time in /proc/diskstats was not
> updating properly on 4.18. This is because we started using ktime to
> track elapsed time, and we convert nanoseconds to jiffies when we update
> the
From: Omar Sandoval
Klaus Kusche reported that the I/O busy time in /proc/diskstats was not
updating properly on 4.18. This is because we started using ktime to
track elapsed time, and we convert nanoseconds to jiffies when we update
the partition counter. However, this gets rounded down, so any
Make it easier to understand the purpose of the functions that iterate
over requests by documenting their purpose. Fix several minor spelling
and grammer mistakes in comments in these functions.
Signed-off-by: Bart Van Assche
Reviewed-by: Johannes Thumshirn
Cc: Christoph Hellwig
Cc: Ming Lei
Now that the blk-mq core processes power management requests
(marked with RQF_PREEMPT) in other states than RPM_ACTIVE, enable
runtime power management for blk-mq.
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Ming Lei
Cc: Jianchao Wang
Cc: Hannes Reinecke
Cc: Johannes Thumshirn
Move the pm_request_resume() and pm_runtime_mark_last_busy() calls into
two new functions and thereby separate legacy block layer code from code
that works for both the legacy block layer and blk-mq. A later patch will
add calls to the new functions in the blk-mq code.
Signed-off-by: Bart Van
Move the code for runtime power management from blk-core.c into the
new source file blk-pm.c. Move the corresponding declarations from
into . For CONFIG_PM=n, leave out
the declarations of the functions that are not used in that mode.
This patch not only reduces the number of #ifdefs in the block
Instead of allowing requests that are not power management requests
to enter the queue in runtime suspended status (RPM_SUSPENDED), make
the blk_get_request() caller block. This change fixes a starvation
issue: it is now guaranteed that power management requests will be
executed no matter how many
The RQF_PREEMPT flag is used for three purposes:
- In the SCSI core, for making sure that power management requests
are executed even if a device is in the "quiesced" state.
- For domain validation by SCSI drivers that use the parallel port.
- In the IDE driver, for IDE preempt requests.
Rename
This function will be used in a later patch to switch the struct
request_queue q_usage_counter from killed back to live. In contrast
to percpu_ref_reinit(), this new function does not require that the
refcount is zero.
Signed-off-by: Bart Van Assche
Cc: Tejun Heo
Cc: Christoph Hellwig
Cc: Ming
A later patch will call blk_freeze_queue_start() followed by
blk_mq_unfreeze_queue() without waiting for q_usage_counter to drop
to zero. Make sure that this doesn't cause a kernel warning to appear
by switching from percpu_ref_reinit() to percpu_ref_resurrect(). The
former namely requires that
Instead of scheduling runtime resume of a request queue after a
request has been queued, schedule asynchronous resume during request
allocation. The new pm_request_resume() calls occur after
blk_queue_enter() has increased the q_usage_counter request queue
member. This change is needed for a later
Hello Jens,
One of the pieces that is missing before blk-mq can be made the default is
implementing runtime power management support for blk-mq. This patch series
not only implements runtime power management for blk-mq but also fixes a
starvation issue in the power management code for the legacy
On 9/21/18 11:15 AM, Hannes Reinecke wrote:
Hi all,
there's one thing which decidedly puzzles me:
[ .. ]
Ah. Screw that.
REQ_OP_XXX is a number, and the others are a bitmask.
Sorry for the noise.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
Hi all,
there's one thing which decidedly puzzles me:
We have:
#define REQ_OP_BITS 8
#define REQ_OP_MASK ((1 << REQ_OP_BITS) - 1)
#define REQ_FLAG_BITS 24
enum req_opf {
/* read sectors from the device */
REQ_OP_READ = 0,
/* write sectors to the
On Thu, Sep 20, 2018 at 03:50:53PM -0600, Jens Axboe wrote:
> Hi Greg,
>
> Three fixes that should go into this series. This pull request
> contains:
>
> - Fix for leaking kernel pointer in floppy ioctl (Andy Whitcroft)
>
> - NVMe pull request from Christoph, and a single ANA log page fix
>
On Fri, Sep 21, 2018 at 1:59 AM Heiner Litz wrote:
>
> On Wed, Sep 19, 2018 at 12:53 AM Hans Holmberg
> wrote:
> >
> > On Tue, Sep 18, 2018 at 6:11 PM Heiner Litz wrote:
> > >
> > > On Tue, Sep 18, 2018 at 4:28 AM Hans Holmberg
> > > wrote:
> > > >
> > > > On Mon, Sep 17, 2018 at 7:30 AM
17 matches
Mail list logo