Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp3719169imm; Tue, 11 Sep 2018 00:34:00 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYJ78Sku7mPMyWwu5smY93vyzNz6tBRDC20vbC09ZSN+Pa1LJYIM9ENLdDkPBByL3hHnBxe X-Received: by 2002:a63:6283:: with SMTP id w125-v6mr25868913pgb.83.1536651240800; Tue, 11 Sep 2018 00:34:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536651240; cv=none; d=google.com; s=arc-20160816; b=LRnH938QF1u0graU/cmvbOVH2XFBjzFCK5GRzxajEBmEZDdghUMCexPqOdig75a0TS Rk+9RsfVjzjjexQZR8wC2tXV60kQA0yQqislZcCaTLNIQQ5oCUVLPguarRPn6HU+MSTe DYIJgUchP2g1vzW3OYOdxMVsjHVr8fT313WQUIEBDsiNIcEfm8wBXMUBKLM5DKFjlb1l gE9iC5Cgy5mHfyI/MD2lc6LLF601SbOYZMqmoCbTsNiUHFUFM/2nD70K7cBB2NOv9qLE ebJt0WZPUlx0YKmISg6ZJKVSvZ718C+ml0vj/dXbWtHEkXMACsF88gEF/CRWpmED6A3M /xEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:to:from:subject:message-id; bh=44RwzrXGROtvIrwdHix2O1CFqfjb4z6FrD/7EyMDAyw=; b=HRTdwC06rnS/RSPn/htFTLmc1Fatq1Vx7X+vLlVA6qo/MWQ5muoU1Bodl8XwtzlBwC xwSB0NzrSCBnFkpWyPkAX07Gz/UU0EGwA0saGfNvkd1Up12CttmdxWWdWanrZQ0umSPb qVeqJpDXGqx10KKoi+SkrR3LfRKODXnyqK4bBFMANHBU/TdrM8zL97+YvXovuOEwMCnq ZEk8NDJG+QhAvL731TPCMHhxbzo+hoAJ08hapOIdKrMEONVc1yiifnsZ4qx8T4wzzanf KX8m6J5Vl9VjRQ+mK0y6p6Bu848XFqRmlYs86TaKNo1ZvaQbZdhaz98OyG/GsjuVQNPM LDhQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m5-v6si16898305pgq.686.2018.09.11.00.33.15; Tue, 11 Sep 2018 00:34:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726649AbeIKMbH (ORCPT + 99 others); Tue, 11 Sep 2018 08:31:07 -0400 Received: from s3.sipsolutions.net ([144.76.43.62]:37400 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726301AbeIKMbG (ORCPT ); Tue, 11 Sep 2018 08:31:06 -0400 Received: by sipsolutions.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.91) (envelope-from ) id 1fzdAX-0004MF-Vm; Tue, 11 Sep 2018 09:33:06 +0200 Message-ID: <1536651177.3224.106.camel@sipsolutions.net> Subject: Re: 4.19-rc[23] iwlwifi: BUG in swiotlb From: Johannes Berg To: Randy Dunlap , LKML , linux-wireless , linuxwifi@intel.com Date: Tue, 11 Sep 2018 09:32:57 +0200 In-Reply-To: <0c5e53e5-2afa-8d38-0b48-272c670c4bc5@infradead.org> (sfid-20180911_041837_063528_262C06DC) References: <0c5e53e5-2afa-8d38-0b48-272c670c4bc5@infradead.org> (sfid-20180911_041837_063528_262C06DC) Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 (3.26.6-1.fc27) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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