linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Khalid Aziz <khalid@gonehiking.org>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	Ondrej Zary <linux@rainbow-software.org>,
	linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	Hannes Reinecke <hare@suse.de>
Subject: Re: [PATCH 8/8] block: stop calling blk_queue_bounce for passthrough requests
Date: Thu, 8 Apr 2021 14:45:06 -0700	[thread overview]
Message-ID: <20210408214506.GA184625@roeck-us.net> (raw)
In-Reply-To: <20210331073001.46776-9-hch@lst.de>

On Wed, Mar 31, 2021 at 09:30:01AM +0200, Christoph Hellwig wrote:
> Instead of overloading the passthrough fast path with the deprecated
> block layer bounce buffering let the users that combine an old
> undermaintained driver with a highmem system pay the price by always
> falling back to copies in that case.
> 

Hmm, that price is pretty high. When trying to boot sh images from usb,
it results in a traceback, followed by an i/o error, and the drive
fails to open.

WARNING: CPU: 0 PID: 5 at block/blk-map.c:488 blk_rq_append_bio+0xdc/0xf4
Modules linked in:

CPU: 0 PID: 5 Comm: kworker/u2:0 Not tainted 5.12.0-rc6-next-20210408 #1
Workqueue: events_unbound async_run_entry_fn
PC is at blk_rq_append_bio+0xdc/0xf4
PR is at blk_rq_map_kern+0x154/0x2d4
PC  : 8c16b7bc SP  : 8c82bcd8 SR  : 40008000 TEA : c00d9fe0
R0  : 000002bc R1  : 00000001 R2  : 00000020 R3  : 00000020
R4  : 8ca58000 R5  : 8ca3bc80 R6  : 8ff93c20 R7  : 00000000
R8  : 00000000 R9  : 8ca5c800 R10 : 8ca5c808 R11 : 8ca3bc80
R12 : 8ca1ae78 R13 : 00000008 R14 : 00000c00
MACH: 0000aac5 MACL: 2fff92b5 GBR : 00000000 PR  : 8c16b9b0

Call trace:
 [<8c22d658>] __scsi_execute+0x54/0x164
 [<8c26508e>] read_capacity_10+0x7a/0x190
 [<8c1aacb4>] memset+0x0/0x8c
 [<8c22d6e4>] __scsi_execute+0xe0/0x164
 [<8c26625a>] sd_revalidate_disk+0xcc2/0x1bf0
 [<8c13819c>] internal_create_group+0x0/0x2a0
 [<8c21aa10>] device_add+0xec/0x774
 [<8c1ad8ec>] kobject_put+0x0/0xf4
 [<8c138598>] sysfs_create_groups+0x0/0x14
 [<8c1ae0a4>] kobject_set_name_vargs+0x20/0x90
 [<8c267636>] sd_probe+0x296/0x384
 [<8c265598>] sd_revalidate_disk+0x0/0x1bf0
 [<8c21e786>] really_probe+0xc2/0x320
 [<8c011ab8>] arch_local_irq_restore+0x0/0x24
 [<8c21cdac>] bus_for_each_drv+0x50/0xa0
 [<8c011ab8>] arch_local_irq_restore+0x0/0x24
 [<8c1ad4ec>] klist_next+0x0/0xf4
 [<8c21ebf8>] __device_attach_driver+0x0/0x90
 [<8c21e104>] __device_attach_async_helper+0x6c/0x94
 [<8c039cfa>] async_run_entry_fn+0x22/0xa8
 [<8c03190e>] process_one_work+0x13e/0x2b4
 [<8c0321f6>] worker_thread+0x10a/0x388
 [<8c011ab8>] arch_local_irq_restore+0x0/0x24
 [<8c0317d0>] process_one_work+0x0/0x2b4
 [<8c036e4e>] kthread+0xce/0x108
 [<8c042d30>] __init_swait_queue_head+0x0/0x8
 [<8c0320ec>] worker_thread+0x0/0x388
 [<8c0151c4>] ret_from_kernel_thread+0xc/0x14
 [<8c011ab0>] arch_local_save_flags+0x0/0x8
 [<8c011ab8>] arch_local_irq_restore+0x0/0x24
 [<8c03ceac>] schedule_tail+0x0/0x5c
 [<8c036d80>] kthread+0x0/0x108

...
blk_update_request: I/O error, dev sda, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
EXT2-fs (sda): error: unable to read superblock
sd 1:0:0:0: [sda] tag#0 access beyond end of device
blk_update_request: I/O error, dev sda, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
MINIX-fs: unable to read superblock
sd 1:0:0:0: [sda] tag#0 access beyond end of device
blk_update_request: I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
FAT-fs (sda): unable to read boot sector
VFS: Cannot open root device "sda" or unknown-block(8,0): error -5

Reverting this patch fixes the problem.

Guenter

---
# bad: [6145d80cfc62e3ed8f16ff584d6287e6d88b82b9] Add linux-next specific files for 20210408
# good: [e49d033bddf5b565044e2abe4241353959bc9120] Linux 5.12-rc6
git bisect start 'HEAD' 'v5.12-rc6'
# good: [109c72558f12be32f904747573e1f221537c5f17] Merge remote-tracking branch 'crypto/master'
git bisect good 109c72558f12be32f904747573e1f221537c5f17
# bad: [379e1b0ffc22f8e0af810558ae87f742a01169c6] Merge remote-tracking branch 'ftrace/for-next'
git bisect bad 379e1b0ffc22f8e0af810558ae87f742a01169c6
# good: [8bc74be758b51ff45786c1840fd8cf405773e0c6] Merge remote-tracking branch 'sound/for-next'
git bisect good 8bc74be758b51ff45786c1840fd8cf405773e0c6
# bad: [58fea702e23f66773e1de827de44fea3087c453c] Merge remote-tracking branch 'mmc/next'
git bisect bad 58fea702e23f66773e1de827de44fea3087c453c
# good: [73935e931c945b019bde312a99f1b43a0a783fca] Merge series "ASoC: soc-core: tidyup error handling for rtd" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
git bisect good 73935e931c945b019bde312a99f1b43a0a783fca
# good: [e0956194697c0b319a71406e6c7452555820eeb5] Merge branch 'for-5.13/drivers' into for-next
git bisect good e0956194697c0b319a71406e6c7452555820eeb5
# bad: [8723f253faed6dafc718d0a0b780567f09446a8b] Merge remote-tracking branch 'block/for-next'
git bisect bad 8723f253faed6dafc718d0a0b780567f09446a8b
# good: [73e7f1732e800a88cafab31d75548c6fcfdd8c47] Input: imx_keypad - convert to a DT-only driver
git bisect good 73e7f1732e800a88cafab31d75548c6fcfdd8c47
# good: [8361c6da77b7d267707da9ff3b94458e018dd3da] Merge series "Adds SPI support" from Jiri Prchal <jiri.prchal@aksignal.cz>:
git bisect good 8361c6da77b7d267707da9ff3b94458e018dd3da
# bad: [c8872394ac388b38952dbe89da91bf2b108ce5e6] Merge branch 'for-5.13/libata' into for-next
git bisect bad c8872394ac388b38952dbe89da91bf2b108ce5e6
# good: [ce288e0535688cc3475a3c3d4d96624514c3550c] block: remove BLK_BOUNCE_ISA support
git bisect good ce288e0535688cc3475a3c3d4d96624514c3550c
# good: [7d33004d24dafeedb95b85a271a37aa33678ac0b] pata_legacy: Add `probe_mask' parameter like with ide-generic
git bisect good 7d33004d24dafeedb95b85a271a37aa33678ac0b
# bad: [393bb12e00580aaa23356504eed38d8f5571153a] block: stop calling blk_queue_bounce for passthrough requests
git bisect bad 393bb12e00580aaa23356504eed38d8f5571153a
# good: [9bb33f24abbd0fa2fadad01ec75438d7cc239189] block: refactor the bounce buffering code
git bisect good 9bb33f24abbd0fa2fadad01ec75438d7cc239189
# first bad commit: [393bb12e00580aaa23356504eed38d8f5571153a] block: stop calling blk_queue_bounce for passthrough requests

  reply	other threads:[~2021-04-08 21:45 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-31  7:29 start removing block bounce buffering support v3 Christoph Hellwig
2021-03-31  7:29 ` [PATCH 1/8] aha1542: use a local bounce buffer Christoph Hellwig
2021-03-31  7:29 ` [PATCH 2/8] Buslogic: remove ISA support Christoph Hellwig
2021-03-31 18:24   ` Khalid Aziz
2021-04-03 16:58   ` Maciej W. Rozycki
2021-04-06  6:27     ` Christoph Hellwig
2021-04-06 15:42       ` Maciej W. Rozycki
2021-04-12 12:26     ` Maciej W. Rozycki
2021-03-31  7:29 ` [PATCH 3/8] BusLogic: reject broken old firmware that requires ISA-style bounce buffering Christoph Hellwig
2021-03-31  7:29 ` [PATCH 4/8] advansys: remove ISA support Christoph Hellwig
2021-03-31  7:59   ` Hannes Reinecke
2021-03-31  7:29 ` [PATCH 5/8] scsi: remove the unchecked_isa_dma flag Christoph Hellwig
2021-04-09 15:46   ` Steffen Maier
2021-04-10  6:52     ` Christoph Hellwig
2021-04-12 14:04       ` Steffen Maier
2021-03-31  7:29 ` [PATCH 6/8] block: remove BLK_BOUNCE_ISA support Christoph Hellwig
2021-03-31  7:30 ` [PATCH 7/8] block: refactor the bounce buffering code Christoph Hellwig
2021-03-31  7:30 ` [PATCH 8/8] block: stop calling blk_queue_bounce for passthrough requests Christoph Hellwig
2021-04-08 21:45   ` Guenter Roeck [this message]
2021-04-09  7:40     ` Christoph Hellwig
2021-04-09 13:04       ` Guenter Roeck
2021-04-06 15:28 ` start removing block bounce buffering support v3 Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2021-03-26  5:58 start removing block bounce buffering support v2 Christoph Hellwig
2021-03-26  5:58 ` [PATCH 8/8] block: stop calling blk_queue_bounce for passthrough requests Christoph Hellwig
2021-03-29  6:37   ` Hannes Reinecke
2021-03-18  6:39 start removing block bounce buffering support Christoph Hellwig
2021-03-18  6:39 ` [PATCH 8/8] block: stop calling blk_queue_bounce for passthrough requests Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210408214506.GA184625@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=axboe@kernel.dk \
    --cc=hare@suse.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=khalid@gonehiking.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux@rainbow-software.org \
    --cc=martin.petersen@oracle.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).