All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libnvdimm, blk: quiet i/o error reporting
@ 2016-03-25 21:59 Dan Williams
  2016-03-28 14:40 ` Elliott, Robert (Persistent Memory)
  2016-03-29  7:56 ` Johannes Thumshirn
  0 siblings, 2 replies; 4+ messages in thread
From: Dan Williams @ 2016-03-25 21:59 UTC (permalink / raw)
  To: linux-nvdimm

I/O errors events have the potential to be a high frequency and a log
message for each event can swamp the system.  This message is also
redundant with upper layer error reporting.

Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
Previously this was folded into "[PATCH 08/13] libnvdimm, blk: move i/o
infrastructure to nd_namespace_blk", but it deserves to be its own
change.

 drivers/nvdimm/blk.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
index c8635b3d88a8..26d039879ba2 100644
--- a/drivers/nvdimm/blk.c
+++ b/drivers/nvdimm/blk.c
@@ -189,7 +189,7 @@ static blk_qc_t nd_blk_make_request(struct request_queue *q, struct bio *bio)
 		err = nd_blk_do_bvec(blk_dev, bip, bvec.bv_page, len,
 					bvec.bv_offset, rw, iter.bi_sector);
 		if (err) {
-			dev_info(&blk_dev->nsblk->common.dev,
+			dev_dbg(&blk_dev->nsblk->common.dev,
 					"io error in %s sector %lld, len %d,\n",
 					(rw == READ) ? "READ" : "WRITE",
 					(unsigned long long) iter.bi_sector, len);

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH] libnvdimm, blk: quiet i/o error reporting
  2016-03-25 21:59 [PATCH] libnvdimm, blk: quiet i/o error reporting Dan Williams
@ 2016-03-28 14:40 ` Elliott, Robert (Persistent Memory)
  2016-03-28 23:57   ` Dan Williams
  2016-03-29  7:56 ` Johannes Thumshirn
  1 sibling, 1 reply; 4+ messages in thread
From: Elliott, Robert (Persistent Memory) @ 2016-03-28 14:40 UTC (permalink / raw)
  To: Dan Williams, linux-nvdimm



> -----Original Message-----
> From: Linux-nvdimm [mailto:linux-nvdimm-bounces@lists.01.org] On Behalf Of
> Dan Williams
> Sent: Friday, March 25, 2016 5:00 PM
> To: linux-nvdimm@lists.01.org
> Subject: [PATCH] libnvdimm, blk: quiet i/o error reporting
> 
> I/O errors events have the potential to be a high frequency and a log
> message for each event can swamp the system.  This message is also
> redundant with upper layer error reporting.
...
> diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
> index c8635b3d88a8..26d039879ba2 100644
> --- a/drivers/nvdimm/blk.c
> +++ b/drivers/nvdimm/blk.c
> @@ -189,7 +189,7 @@ static blk_qc_t nd_blk_make_request(struct
> request_queue *q, struct bio *bio)
>  		err = nd_blk_do_bvec(blk_dev, bip, bvec.bv_page, len,
>  					bvec.bv_offset, rw, iter.bi_sector);
>  		if (err) {
> -			dev_info(&blk_dev->nsblk->common.dev,
> +			dev_dbg(&blk_dev->nsblk->common.dev,
>  					"io error in %s sector %lld, len %d,\n",
>  					(rw == READ) ? "READ" : "WRITE",
>  					(unsigned long long) iter.bi_sector, len);
> 

The block layer's blk_update_request uses printk_ratelimited to
avoids swamping the output buffers.  Since this driver doesn't
call blk_update_request, it might be appropriate to do the same.

	printk_ratelimited(KERN_ERR "%s: %s error, dev %s, sector %llu\n",
		__func__, error_type, req->rq_disk ?
		req->rq_disk->disk_name : "?",
		(unsigned long long)blk_rq_pos(req));

---
Robert Elliott, HPE Persistent Memory

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] libnvdimm, blk: quiet i/o error reporting
  2016-03-28 14:40 ` Elliott, Robert (Persistent Memory)
@ 2016-03-28 23:57   ` Dan Williams
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Williams @ 2016-03-28 23:57 UTC (permalink / raw)
  To: Elliott, Robert (Persistent Memory); +Cc: linux-nvdimm

On Mon, Mar 28, 2016 at 7:40 AM, Elliott, Robert (Persistent Memory)
<elliott@hpe.com> wrote:
>
>
>> -----Original Message-----
>> From: Linux-nvdimm [mailto:linux-nvdimm-bounces@lists.01.org] On Behalf Of
>> Dan Williams
>> Sent: Friday, March 25, 2016 5:00 PM
>> To: linux-nvdimm@lists.01.org
>> Subject: [PATCH] libnvdimm, blk: quiet i/o error reporting
>>
>> I/O errors events have the potential to be a high frequency and a log
>> message for each event can swamp the system.  This message is also
>> redundant with upper layer error reporting.
> ...
>> diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
>> index c8635b3d88a8..26d039879ba2 100644
>> --- a/drivers/nvdimm/blk.c
>> +++ b/drivers/nvdimm/blk.c
>> @@ -189,7 +189,7 @@ static blk_qc_t nd_blk_make_request(struct
>> request_queue *q, struct bio *bio)
>>               err = nd_blk_do_bvec(blk_dev, bip, bvec.bv_page, len,
>>                                       bvec.bv_offset, rw, iter.bi_sector);
>>               if (err) {
>> -                     dev_info(&blk_dev->nsblk->common.dev,
>> +                     dev_dbg(&blk_dev->nsblk->common.dev,
>>                                       "io error in %s sector %lld, len %d,\n",
>>                                       (rw == READ) ? "READ" : "WRITE",
>>                                       (unsigned long long) iter.bi_sector, len);
>>
>
> The block layer's blk_update_request uses printk_ratelimited to
> avoids swamping the output buffers.  Since this driver doesn't
> call blk_update_request, it might be appropriate to do the same.
>
>         printk_ratelimited(KERN_ERR "%s: %s error, dev %s, sector %llu\n",
>                 __func__, error_type, req->rq_disk ?
>                 req->rq_disk->disk_name : "?",
>                 (unsigned long long)blk_rq_pos(req));

I'm aware of printk_ratelimited, I just don't think bio-based drivers
like ndblk should implement their own error reporting for something
block-layer-generic like this.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] libnvdimm, blk: quiet i/o error reporting
  2016-03-25 21:59 [PATCH] libnvdimm, blk: quiet i/o error reporting Dan Williams
  2016-03-28 14:40 ` Elliott, Robert (Persistent Memory)
@ 2016-03-29  7:56 ` Johannes Thumshirn
  1 sibling, 0 replies; 4+ messages in thread
From: Johannes Thumshirn @ 2016-03-29  7:56 UTC (permalink / raw)
  To: linux-nvdimm

On Freitag, 25. März 2016 14:59:41 CEST Dan Williams wrote:
> I/O errors events have the potential to be a high frequency and a log
> message for each event can swamp the system.  This message is also
> redundant with upper layer error reporting.
> 
> Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>

Looks good to me,

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-29  7:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-25 21:59 [PATCH] libnvdimm, blk: quiet i/o error reporting Dan Williams
2016-03-28 14:40 ` Elliott, Robert (Persistent Memory)
2016-03-28 23:57   ` Dan Williams
2016-03-29  7:56 ` Johannes Thumshirn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.