On Wed, Jun 07, 2017 at 11:36:14AM +0800, Joseph Qi wrote:
> From: Joseph Qi
>
> I have encountered a NULL pointer dereference in
> throtl_schedule_pending_timer:
> [ 413.735396] BUG: unable to handle kernel NULL pointer dereference at
> 0038
> [
From: Joseph Qi
I have encountered a NULL pointer dereference in
throtl_schedule_pending_timer:
[ 413.735396] BUG: unable to handle kernel NULL pointer dereference at
0038
[ 413.735535] IP: []
throtl_schedule_pending_timer+0x3f/0x210
[
On Tue, Jun 06, 2017 at 04:02:52PM +, Bart Van Assche wrote:
> On Tue, 2017-06-06 at 23:22 +0800, Ming Lei wrote:
> > If queue is stopped, we shouldn't dispatch request into driver and
> > hardware, unfortunately the check is removed in bd166ef183c2(blk-mq-sched:
> > add framework for MQ
On Tue, Jun 06, 2017 at 03:12:12PM -0600, Jens Axboe wrote:
> On 06/06/2017 01:40 PM, Shaohua Li wrote:
> > From: Shaohua Li
> >
> > hard disk IO latency varies a lot depending on spindle move. The latency
> > range could be from several microseconds to several milliseconds. It's
>
On Tue, Jun 06, 2017 at 04:12:58PM -0400, Jeff Layton wrote:
> On Tue, 2017-06-06 at 10:17 -0700, Darrick J. Wong wrote:
> > On Tue, Jun 06, 2017 at 08:23:25PM +0800, Eryu Guan wrote:
> > > On Tue, Jun 06, 2017 at 06:15:57AM -0400, Jeff Layton wrote:
> > > > On Tue, 2017-06-06 at 16:58 +0800, Eryu
On Tue, Jun 06, 2017 at 11:25:24AM +0200, Christoph Hellwig wrote:
> I don't really care about the place, I just send the -temp link
> to a few people and they got really confused by it.
>
> Btw, do you have any plans to integrate the OPAL code with the
> distros so that the setup will be
On Tue, Jun 06, 2017 at 11:59:55AM +0200, Christoph Hellwig wrote:
> On Mon, Jun 05, 2017 at 03:15:31PM -0600, Scott Bauer wrote:
> > I'm not familiar at all with ATA, but I noticed there was no unlock from
> > suspend support
> > in the series. Does ATA not have a way to determine if we're
On 06/06/2017 01:40 PM, Shaohua Li wrote:
> From: Shaohua Li
>
> hard disk IO latency varies a lot depending on spindle move. The latency
> range could be from several microseconds to several milliseconds. It's
> pretty hard to get the baseline latency used by io.low.
>
> We will
On Tue, 2017-06-06 at 10:17 -0700, Darrick J. Wong wrote:
> On Tue, Jun 06, 2017 at 08:23:25PM +0800, Eryu Guan wrote:
> > On Tue, Jun 06, 2017 at 06:15:57AM -0400, Jeff Layton wrote:
> > > On Tue, 2017-06-06 at 16:58 +0800, Eryu Guan wrote:
> > > > On Wed, May 31, 2017 at 09:08:16AM -0400, Jeff
From: Shaohua Li
hard disk IO latency varies a lot depending on spindle move. The latency
range could be from several microseconds to several milliseconds. It's
pretty hard to get the baseline latency used by io.low.
We will use a different stragety here. The idea is only using IO
On 06/02/2017 09:35 PM, Eric Biggers wrote:
> From: Eric Biggers
>
> gcc 7.1 reports the following warning:
>
> block/elevator.c: In function ‘elv_register’:
> block/elevator.c:898:5: warning: ‘snprintf’ output may be truncated
> before the last format character
On Tue, Jun 06, 2017 at 08:23:25PM +0800, Eryu Guan wrote:
> On Tue, Jun 06, 2017 at 06:15:57AM -0400, Jeff Layton wrote:
> > On Tue, 2017-06-06 at 16:58 +0800, Eryu Guan wrote:
> > > On Wed, May 31, 2017 at 09:08:16AM -0400, Jeff Layton wrote:
> > > > I'm working on a set of kernel patches to
On Fri, 2017-06-02 at 20:35 -0700, Eric Biggers wrote:
> From: Eric Biggers
>
> gcc 7.1 reports the following warning:
>
> block/elevator.c: In function ‘elv_register’:
> block/elevator.c:898:5: warning: ‘snprintf’ output may be truncated
> before the last format
On Tue, 2017-06-06 at 23:22 +0800, Ming Lei wrote:
> BLK_MQ_S_STOPPED may not be observed in other concurrent I/O paths,
> we can't guarantee that dispatching won't happen after returning
> from the APIs of stopping queue.
>
> So clarify the fact and avoid potential misuse.
Reviewed-by: Bart Van
On Tue, 2017-06-06 at 23:22 +0800, Ming Lei wrote:
> If queue is stopped, we shouldn't dispatch request into driver and
> hardware, unfortunately the check is removed in bd166ef183c2(blk-mq-sched:
> add framework for MQ capable IO schedulers).
>
> This patch fixes the issue by moving the check
On Tue, 2017-06-06 at 23:22 +0800, Ming Lei wrote:
> We usually put blk_mq_*() into include/linux/blk-mq.h, so
> move this API into there.
Reviewed-by: Bart Van Assche
On 06/06/2017 09:21 AM, Ming Lei wrote:
> Hi,
>
> There is one big issue in current blk_mq_quiesce_queue():
>
> - in case of direct issue or BLK_MQ_S_START_ON_RUN, dispatch won't
> be prevented after blk_mq_quiesce_queue() is returned.
>
>
> The 1st two patches fix two problems in
On Tue, 2017-06-06 at 23:22 +0800, Ming Lei wrote:
> It is required that no dispatch can happen any more once
> blk_mq_quiesce_queue() returns, and we don't have such requirement
> on APIs of stopping queue.
>
> But blk_mq_quiesce_queue() still may not block/drain dispatch in the
> the case of
On Tue, 2017-06-06 at 23:21 +0800, Ming Lei wrote:
> When direct issue is done on request picked up from plug list,
> the hctx need to be updated with the actual hw queue, otherwise
> wrong hctx is used and may hurt performance, especially when
> wrong SRCU readlock is acquired/released
Gentle ping..
>-Original Message-
>From: Sumit Saxena [mailto:sumit.sax...@broadcom.com]
>Sent: Monday, June 05, 2017 12:59 PM
>To: 'Jens Axboe'
>Cc: 'linux-block@vger.kernel.org'; 'linux-s...@vger.kernel.org'
>Subject: Application stops due to ext4 filesytsem IO error
>
>Jens,
>
>We am
This patch reverts commit 2719aa217e0d02(blk-mq: don't use
sync workqueue flushing from drivers) because only
blk_mq_quiesce_queue() need the sync flush, and now
we don't need to stop queue any more, so revert it.
Also changes to cancel_delayed_work() in blk_mq_stop_hw_queue().
Reviewed-by: Bart
BLK_MQ_S_STOPPED may not be observed in other concurrent I/O paths,
we can't guarantee that dispatching won't happen after returning
from the APIs of stopping queue.
So clarify the fact and avoid potential misuse.
Signed-off-by: Ming Lei
---
block/blk-mq.c | 18
Actually what we want to get from blk_mq_quiesce_queue()
isn't only to wait for completion of all ongoing .queue_rq().
In the typical context of canceling requests, we need to
make sure that the following is done in the dispatch path
before starting to cancel requests:
- failed
Queue can be started by other blk-mq APIs and can be used in
different cases, this limits uses of blk_mq_quiesce_queue()
if it is based on stopping queue, and make its usage very
difficult, especially users have to use the stop queue APIs
carefully for avoiding to break blk_mq_quiesce_queue().
We
It is required that no dispatch can happen any more once
blk_mq_quiesce_queue() returns, and we don't have such requirement
on APIs of stopping queue.
But blk_mq_quiesce_queue() still may not block/drain dispatch in the
the case of BLK_MQ_S_START_ON_RUN, so use the new introduced flag of
When nvme_kill_queues() is run, queues may be in
quiesced state, so we forcibly unquiesce queues to avoid
blocking dispatch, and I/O hang can be avoided in
remove path.
Peviously we use blk_mq_start_stopped_hw_queues() as
counterpart of blk_mq_quiesce_queue(), now we have
introduced
blk_mq_unquiesce_queue() is used for unquiescing the
queue explicitly, so replace blk_mq_start_stopped_hw_queues()
with it.
For the scsi part, this patch takes Bart's suggestion to
switch to block quiesce/unquiesce API completely.
Cc: linux-n...@lists.infradead.org
Cc: linux-s...@vger.kernel.org
blk_mq_start_stopped_hw_queues() is used implictly
as counterpart of blk_mq_quiesce_queue() for unquiescing queue,
so we introduce blk_mq_unquiesce_queue() and make it
as counterpart of blk_mq_quiesce_queue() explicitly.
This function is for improving the current quiescing mechanism
in the
This patch introduces blk_mq_quiesce_queue_nowait() so
that we can workaround mpt3sas for quiescing its queue.
Once mpt3sas is fixed, we can remove this helper.
Reviewed-by: Bart Van Assche
Signed-off-by: Ming Lei
---
include/linux/blk-mq.h | 8
We usually put blk_mq_*() into include/linux/blk-mq.h, so
move this API into there.
Signed-off-by: Ming Lei
---
include/linux/blk-mq.h | 1 +
include/linux/blkdev.h | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/blk-mq.h
If queue is stopped, we shouldn't dispatch request into driver and
hardware, unfortunately the check is removed in bd166ef183c2(blk-mq-sched:
add framework for MQ capable IO schedulers).
This patch fixes the issue by moving the check back into
__blk_mq_try_issue_directly().
This patch fixes
When direct issue is done on request picked up from plug list,
the hctx need to be updated with the actual hw queue, otherwise
wrong hctx is used and may hurt performance, especially when
wrong SRCU readlock is acquired/released
Reported-by: Bart Van Assche
Hi,
There is one big issue in current blk_mq_quiesce_queue():
- in case of direct issue or BLK_MQ_S_START_ON_RUN, dispatch won't
be prevented after blk_mq_quiesce_queue() is returned.
The 1st two patches fix two problems in direct issue, please consider
it for v4.12.
The other 10
Hi,
There is one big issue in current blk_mq_quiesce_queue():
- in case of direct issue or BLK_MQ_S_START_ON_RUN, dispatch won't
be prevented after blk_mq_quiesce_queue() is returned.
The 1st two patches fix two problems in direct issue, please consider
it for v4.12.
The other 10
On Mon, Jun 05, 2017 at 11:55:20PM +, Bart Van Assche wrote:
> On Mon, 2017-06-05 at 23:59 +0800, Ming Lei wrote:
> > +/*
> > + * We do not guarantee that dispatch can be drained or blocked
> > + * after blk_mq_stop_hw_queue() returns. Please use
> > + * blk_mq_quiesce_queue() for that
On Tue, Jun 06, 2017 at 06:15:57AM -0400, Jeff Layton wrote:
> On Tue, 2017-06-06 at 16:58 +0800, Eryu Guan wrote:
> > On Wed, May 31, 2017 at 09:08:16AM -0400, Jeff Layton wrote:
> > > I'm working on a set of kernel patches to change how writeback errors
> > > are handled and reported in the
From: Goldwyn Rodrigues
filemap_range_has_page() return true if the file's mapping has
a page within the range mentioned. This function will be used
to check if a write() call will cause a writeback of previous
writes.
Reviewed-by: Christoph Hellwig
Reviewed-by:
From: Goldwyn Rodrigues
Find out if the write will trigger a wait due to writeback. If yes,
return -EAGAIN.
Return -EINVAL for buffered AIO: there are multiple causes of
delay such as page locks, dirty throttling logic, page loading
from disk etc. which cannot be taken care
From: Goldwyn Rodrigues
A new bio operation flag REQ_NOWAIT is introduced to identify bio's
orignating from iocb with IOCB_NOWAIT. This flag indicates
to return immediately if a request cannot be made instead
of retrying.
Stacked devices such as md (the ones with
From: Goldwyn Rodrigues
IOCB_NOWAIT translates to IOMAP_NOWAIT for iomaps.
This is used by XFS in the XFS patch.
Reviewed-by: Christoph Hellwig
Reviewed-by: Jan Kara
Signed-off-by: Goldwyn Rodrigues
---
fs/iomap.c|
From: Goldwyn Rodrigues
If IOCB_NOWAIT is set, bail if the i_rwsem is not lockable
immediately.
IF IOMAP_NOWAIT is set, return EAGAIN in xfs_file_iomap_begin
if it needs allocation either due to file extension, writing to a hole,
or COW or waiting for other DIOs to finish.
From: Goldwyn Rodrigues
Reviewed-by: Christoph Hellwig
Reviewed-by: Jan Kara
Signed-off-by: Goldwyn Rodrigues
---
fs/read_write.c| 12 +++-
include/linux/fs.h | 14 ++
2 files changed, 17 insertions(+),
From: Goldwyn Rodrigues
Return EAGAIN if any of the following checks fail
+ i_rwsem is not lockable
+ NODATACOW or PREALLOC is not set
+ Cannot nocow at the desired location
+ Writing beyond end of file which is not allocated
Acked-by: David Sterba
On Tue, 2017-06-06 at 16:58 +0800, Eryu Guan wrote:
> On Wed, May 31, 2017 at 09:08:16AM -0400, Jeff Layton wrote:
> > I'm working on a set of kernel patches to change how writeback errors
> > are handled and reported in the kernel. Instead of reporting a
> > writeback error to only the first
On Mon, Jun 05, 2017 at 08:48:00PM -0400, Martin K. Petersen wrote:
> For WRITE SAME, scsi_report_opcode() is gated not only by
> sdev->no_report_opcodes but by sdev->no_write_same.
>
> I'm concerned about firing off REPORT OPCODES to random devices without
> a sufficiently good heuristic.
I don't really care about the place, I just send the -temp link
to a few people and they got really confused by it.
Btw, do you have any plans to integrate the OPAL code with the
distros so that the setup will be seamless?
On Wed, May 31, 2017 at 09:08:20AM -0400, Jeff Layton wrote:
> With btrfs, we can't really put the log on a separate device. What we
> can do however is mirror the metadata across two devices and make the
> data striped across all devices. When we turn on dmerror then the
> metadata can fall back
On Wed, May 31, 2017 at 09:08:18AM -0400, Jeff Layton wrote:
> Ensure that we get an error back on all fds when a block device is
> open by multiple writers and writeback fails.
>
> Signed-off-by: Jeff Layton
> ---
> tests/generic/998 | 64
>
On Wed, May 31, 2017 at 09:08:19AM -0400, Jeff Layton wrote:
> Signed-off-by: Jeff Layton
> ---
> common/rc | 11 ++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/common/rc b/common/rc
> index 391d36f373cd..83765aacfb06 100644
> --- a/common/rc
On Wed, May 31, 2017 at 09:08:17AM -0400, Jeff Layton wrote:
> The writeback error handling test requires that you put the journal on a
> separate device. This allows us to use dmerror to simulate data
> writeback failure, without affecting the journal.
>
> xfs already has infrastructure for this
On Wed, May 31, 2017 at 09:08:16AM -0400, Jeff Layton wrote:
> I'm working on a set of kernel patches to change how writeback errors
> are handled and reported in the kernel. Instead of reporting a
> writeback error to only the first fsync caller on the file, I aim
> to make the kernel report them
On Tue, Jun 06, 2017 at 09:12:23AM +0200, Christoph Hellwig wrote:
> On Tue, Jun 06, 2017 at 10:10:45AM +0300, Sagi Grimberg wrote:
> >
> Note 7 here is NVME_SC_ABORT_REQ. Also we would avoid walking through
> all power states inside the nvme_configure_apst as
>
On Tue, Jun 06, 2017 at 10:10:45AM +0300, Sagi Grimberg wrote:
>
Note 7 here is NVME_SC_ABORT_REQ. Also we would avoid walking through
all power states inside the nvme_configure_apst as
nvme_set_latency_tolerance was called with value
PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT
Note 7 here is NVME_SC_ABORT_REQ. Also we would avoid walking through
all power states inside the nvme_configure_apst as
nvme_set_latency_tolerance was called with value
PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT (-1) which sets
ctrl->ps_max_latency_us to U64_MAX and tries to send a sync command
On 06/04/2017 02:42 PM, Christoph Hellwig wrote:
> Just wire up the generic TCG OPAL infrastructure to the SCSI disk driver
> and the Security In/Out commands.
>
> Note that I don't know of any actual SCSI disks that do support TCG OPAL,
> but this is required to support ATA disks through libata.
On 06/04/2017 02:42 PM, Christoph Hellwig wrote:
> This allows us to use the generic OPAL code with ATA devices.
>
> Signed-off-by: Christoph Hellwig
> ---
> drivers/ata/libata-core.c | 32
> drivers/ata/libata-scsi.c | 76
>
On 06/04/2017 02:42 PM, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> ---
> drivers/ata/libata-core.c | 59
> +--
> 1 file changed, 32 insertions(+), 27 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
On 06/04/2017 02:42 PM, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> ---
> drivers/ata/libata-core.c | 10 +-
> include/linux/ata.h | 10 +++---
> 2 files changed, 12 insertions(+), 8 deletions(-)
>
Reviewed-by: Hannes Reinecke
On 06/04/2017 02:42 PM, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig
> ---
> drivers/ata/libata-core.c | 59
> +--
> 1 file changed, 16 insertions(+), 43 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
On 06/04/2017 02:42 PM, Christoph Hellwig wrote:
> It is core functionality, and only one of the users is in the EH code.
>
> Signed-off-by: Christoph Hellwig
> ---
> drivers/ata/libata-core.c | 64
> +++
> drivers/ata/libata-eh.c | 64
60 matches
Mail list logo