linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: 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: Tue, 11 Sep 2018 09:32:57 +0200	[thread overview]
Message-ID: <1536651177.3224.106.camel@sipsolutions.net> (raw)
In-Reply-To: <0c5e53e5-2afa-8d38-0b48-272c670c4bc5@infradead.org> (sfid-20180911_041837_063528_262C06DC)

On Mon, 2018-09-10 at 19:17 -0700, Randy Dunlap wrote:
> 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

johannes

  reply	other threads:[~2018-09-11 12:31 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 [this message]
2018-09-11 20:57   ` Randy Dunlap
2018-09-11 21:02     ` Johannes Berg
2018-09-16  9:34   ` Pavel Machek
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=1536651177.3224.106.camel@sipsolutions.net \
    --to=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 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).