All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Randy Dunlap <rdunlap@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	linuxwifi@intel.com
Subject: Re: 4.19-rc[23] iwlwifi: BUG in swiotlb
Date: Sun, 16 Sep 2018 11:34:14 +0200	[thread overview]
Message-ID: <20180916093414.GA4299@amd> (raw)
In-Reply-To: <1536651177.3224.106.camel@sipsolutions.net>

[-- Attachment #1: Type: text/plain, Size: 8274 bytes --]

Hi!

> > Any ideas?
> 
> Hmm. Is this new?
> 
> > 2018-09-10T18:47:54.532837-07:00 dragon kernel: [   31.472371] kernel BUG at ../kernel/dma/swiotlb.c:521!
> 
>         nslots = ALIGN(size, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT;
> 	[...]
> 	BUG_ON(!nslots)
> 
> > 2018-09-10T18:47:54.613655-07:00 dragon kernel: [   31.490325]  swiotlb_alloc+0x88/0x170
> > 2018-09-10T18:47:54.613656-07:00 dragon kernel: [   31.490329]  ? __kmalloc+0x1cc/0x200
> > 2018-09-10T18:47:54.613657-07:00 dragon kernel: [   31.491652]  iwl_pcie_txq_alloc+0x1d4/0x3b0 [iwlwifi]
> 
> There are two calls to dma_alloc_coherent() here, should those even hit
> swiotlb? The sizes of those should be
>  * 256 x 128 (32k)
>  * 32 x 256 (8k) [TFH, unlikely to be the case here]
>  * 256 x 256 (65k) [TFH]
>  * 32 x 64 (2k)
>  * 256 x 64 (16k)
> 
> 
> IO_TLB_SHIFT is 11, so we get 2k alignment, so even the smallest size
> (32*64) should result in nslots being 1?
> 
> In fact, unless the driver passed *ZERO* as the size, this should never
> happen (hence the BUG_ON), since ALIGN() would take care of rounding up
> any smaller allocation here.
> 
> Presumably you can reproduce this pretty easily (and I don't know what
> specific model of NIC you have etc.), so perhaps you can do something
> like this?
> 
> https://p.sipsolutions.net/aa0dccd7a60fe176.txt

That results in: ... if I'm not mistaken. Tested on top of today's
mainline. (-rc3.95 :-)

[    9.318335] e1000e: eth2 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[    9.318342] e1000e 0000:00:19.0 eth2: 10/100 speed: disabling TSO
[   10.078165] random: crng init done
[   10.078170] random: 7 urandom warning(s) missed due to ratelimiting
[   89.607425] iwlwifi 0000:03:00.0: RF_KILL bit toggled to enable radio.
[   89.609870] iwlwifi 0000:03:00.0: reporting RF_KILL (radio enabled)
[   89.634418] iwlwifi 0000:03:00.0: Radio type=0x0-0x0-0x3
[   89.635668] ------------[ cut here ]------------
[   89.636445] kernel BUG at kernel/dma/swiotlb.c:521!
[   89.637220] invalid opcode: 0000 [#1] SMP PTI
[   89.637937] CPU: 1 PID: 3126 Comm: NetworkManager Not tainted 4.19.0-rc3 #7
[   89.638665] Hardware name: LENOVO 42872WU/42872WU, BIOS 8DET74WW (1.44 ) 03/13/2018
[   89.639415] RIP: 0010:swiotlb_tbl_map_single+0x17f/0x2c0
[   89.640147] Code: 21 c6 49 89 f5 49 81 c5 ff 07 00 00 49 c1 ed 0b 48 83 f8 ff 0f 84 f2 fe ff ff 48 8d 90 00 08 00 00 48 c1 ea 0b e9 e2 fe ff ff <0f> 0b 42 8d 0c 3b 89 d8 39 cb 7d 12 48 63 d0 83 c0 01 39 c8 41 c7
[   89.641746] RSP: 0000:ffffc9000092f070 EFLAGS: 00010246
[   89.642560] RAX: 00000000ffffffff RBX: 0000000000000000 RCX: 0000000000000000
[   89.643399] RDX: 0000000000200000 RSI: 00000000d699f000 RDI: ffff8801970960a8
[   89.644235] RBP: ffffc9000092f0c8 R08: 0000000000000002 R09: 0000000000000000
[   89.645080] R10: 0000000000000034 R11: 0000000000000000 R12: 0000000000000001
[   89.645917] R13: 00000000001ad33e R14: 0000000000000000 R15: 0000000000000000
[   89.646750] FS:  0000000000000000(0000) GS:ffff88019e240000(0063) knlGS:00000000f70437c0
[   89.647599] CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
[   89.648442] CR2: 0000000056767120 CR3: 00000001938fa003 CR4: 00000000000606a0
[   89.649302] Call Trace:
[   89.650150]  ? dma_direct_alloc+0x6f/0x140
[   89.651001]  swiotlb_alloc+0x88/0x170
[   89.651838]  iwl_pcie_txq_alloc+0x205/0x420
[   89.652669]  ? iwl_pcie_tx_init+0x28d/0x390
[   89.653502]  iwl_pcie_tx_init+0x325/0x390
[   89.654338]  iwl_trans_pcie_start_fw+0x267/0x590
[   89.655185]  iwl_load_ucode_wait_alive+0xde/0x1b0
[   89.656024]  ? iwl_init_notification_wait+0x78/0x90
[   89.656865]  ? iwl_alloc_all+0x30/0x30
[   89.657701]  iwl_run_init_ucode+0xa3/0x130
[   89.658528]  ? iwl_run_init_ucode+0xa3/0x130
[   89.659352]  ? iwl_alive_notify+0x1b0/0x1b0
[   89.660167]  ? mutex_unlock+0xd/0x10
[   89.660975]  iwlagn_mac_start+0x112/0x200
[   89.661785]  ? iwlagn_mac_start+0x112/0x200
[   89.662600]  drv_start+0x2e/0x50
[   89.663424]  ieee80211_do_open+0x356/0x920
[   89.664230]  ? mutex_unlock+0xd/0x10
[   89.665027]  ieee80211_open+0x4e/0x60
[   89.665809]  __dev_open+0xba/0x130
[   89.666572]  __dev_change_flags+0x19c/0x200
[   89.667330]  ? __switch_to_asm+0x34/0x70
[   89.668070]  ? __switch_to_asm+0x40/0x70
[   89.668800]  dev_change_flags+0x24/0x60
[   89.669518]  do_setlink+0x2f4/0xce0
[   89.670216]  ? _raw_spin_unlock_irq+0x22/0x30
[   89.670933]  ? finish_task_switch+0xa3/0x250
[   89.671631]  ? finish_task_switch+0x76/0x250
[   89.672322]  ? __schedule+0x36c/0x830
[   89.673006]  ? blk_flush_plug_list+0xdd/0x250
[   89.673694]  ? nla_parse+0x36/0x130
[   89.674374]  rtnl_newlink+0x483/0x770
[   89.675061]  ? update_group_capacity+0x27/0x2f0
[   89.675735]  ? find_busiest_group+0x141/0xad0
[   89.676398]  ? find_held_lock+0x39/0xb0
[   89.677044]  ? load_balance+0x709/0xb80
[   89.677647]  ? find_held_lock+0x39/0xb0
[   89.678200]  ? cache_alloc_refill+0x4c1/0xc80
[   89.678735]  ? find_held_lock+0x39/0xb0
[   89.679265]  ? __lock_acquire.isra.25+0x39e/0xa50
[   89.679786]  rtnetlink_rcv_msg+0x316/0x3e0
[   89.680290]  ? rtnl_calcit.isra.40+0x140/0x140
[   89.680792]  netlink_rcv_skb+0xcd/0x100
[   89.681291]  rtnetlink_rcv+0x10/0x20
[   89.681779]  netlink_unicast+0x179/0x210
[   89.682253]  netlink_sendmsg+0x307/0x3a0
[   89.682713]  sock_sendmsg+0x18/0x30
[   89.683168]  ___sys_sendmsg+0x2a5/0x2c0
[   89.683619]  ? find_held_lock+0x39/0xb0
[   89.684071]  ? find_held_lock+0x39/0xb0
[   89.684511]  ? __fget+0x8a/0xd0
[   89.684947]  ? __fget+0xa2/0xd0
[   89.685377]  __sys_sendmsg+0x63/0xa0
[   89.685804]  ? __sys_sendmsg+0x63/0xa0
[   89.686232]  __ia32_compat_sys_socketcall+0xde/0x220
[   89.686660]  do_int80_syscall_32+0x50/0x100
[   89.687099]  entry_INT80_compat+0x7d/0x82
[   89.687527] RIP: 0023:0xf7f98c42
[   89.687950] Code: 65 8b 15 04 00 00 00 8b 0e 8b 0c ca 83 f9 ff 75 0c 89 04 24 89 f0 e8 b3 fe ff ff eb 05 8b 46 04 01 c8 83 c4 14 5b 5e c3 cd 80 <c3> 8d b6 00 00 00 00 8d bc 27 00 00 00 00 8b 1c 24 c3 8d b6 00 00
[   89.688990] RSP: 002b:00000000ff933894 EFLAGS: 00200293 ORIG_RAX: 0000000000000066
[   89.689535] RAX: ffffffffffffffda RBX: 0000000000000010 RCX: 00000000ff9338a0
[   89.690093] RDX: 00000000f7c09000 RSI: 0000000000000000 RDI: 00000000081ae170
[   89.690653] RBP: 0000000008248118 R08: 0000000000000000 R09: 0000000000000000
[   89.691226] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[   89.691792] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[   89.692354] Modules linked in:
[   89.692929] ---[ end trace 3906e4f171da79b4 ]---
[   89.693651] RIP: 0010:swiotlb_tbl_map_single+0x17f/0x2c0
[   89.693653] Code: 21 c6 49 89 f5 49 81 c5 ff 07 00 00 49 c1 ed 0b 48 83 f8 ff 0f 84 f2 fe ff ff 48 8d 90 00 08 00 00 48 c1 ea 0b e9 e2 fe ff ff <0f> 0b 42 8d 0c 3b 89 d8 39 cb 7d 12 48 63 d0 83 c0 01 39 c8 41 c7
[   89.693654] RSP: 0000:ffffc9000092f070 EFLAGS: 00010246
[   89.693656] RAX: 00000000ffffffff RBX: 0000000000000000 RCX: 0000000000000000
[   89.693657] RDX: 0000000000200000 RSI: 00000000d699f000 RDI: ffff8801970960a8
[   89.693666] RBP: ffffc9000092f0c8 R08: 0000000000000002 R09: 0000000000000000
[   89.693667] R10: 0000000000000034 R11: 0000000000000000 R12: 0000000000000001
[   89.693668] R13: 00000000001ad33e R14: 0000000000000000 R15: 0000000000000000
[   89.693670] FS:  0000000000000000(0000) GS:ffff88019e240000(0063) knlGS:00000000f70437c0
[   89.693671] CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
[   89.693672] CR2: 0000000056767120 CR3: 00000001938fa003 CR4: 00000000000606a0
[   90.235267] usb 1-1.4: new full-speed USB device number 5 using ehci-pci
[   90.349748] usb 1-1.4: New USB device found, idVendor=0a5c, idProduct=217f, bcdDevice= 7.48
[   90.351888] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   90.353967] usb 1-1.4: Product: Broadcom Bluetooth Device
[   90.356097] usb 1-1.4: Manufacturer: Broadcom Corp
[   90.356794] usb 1-1.4: SerialNumber: 7CE9D3B855AA


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  parent reply	other threads:[~2018-09-16 14:56 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-11  2:17 4.19-rc[23] iwlwifi: BUG in swiotlb Randy Dunlap
2018-09-11  7:32 ` Johannes Berg
2018-09-11 20:57   ` Randy Dunlap
2018-09-11 21:02     ` Johannes Berg
2018-09-16  9:34   ` Pavel Machek [this message]
2018-09-16  9:41     ` Pavel Machek
2018-09-16  9:55       ` Pavel Machek
2018-09-16  9:59         ` [PATCH] fix iwlwifi on old cards in v4.19 was " Pavel Machek
2018-09-16 10:12           ` [linuxwifi] " Grumbach, Emmanuel
2018-09-16 10:14             ` Grumbach, Emmanuel
2018-09-16 11:06               ` Pavel Machek
2018-10-07  0:44             ` Randy Dunlap
2018-10-07  0:56               ` Randy Dunlap
2018-09-16 22:27           ` Randy Dunlap

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=20180916093414.GA4299@amd \
    --to=pavel@ucw.cz \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linuxwifi@intel.com \
    --cc=rdunlap@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 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.