From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752948AbcHLOol (ORCPT ); Fri, 12 Aug 2016 10:44:41 -0400 Received: from www62.your-server.de ([213.133.104.62]:49368 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752621AbcHLOoi (ORCPT ); Fri, 12 Aug 2016 10:44:38 -0400 Message-ID: <57ADE0D0.2080500@iogearbox.net> Date: Fri, 12 Aug 2016 16:44:32 +0200 From: Daniel Borkmann User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Jiri Kosina CC: Eric Dumazet , Jamal Hadi Salim , Phil Sutter , Cong Wang , David Miller , linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 2/2] net: sched: convert qdisc linked list to hashtable References: <57ADC6AA.5070506@iogearbox.net> <57ADDC8B.9010700@iogearbox.net> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated-Sender: daniel@iogearbox.net Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/12/2016 04:36 PM, Jiri Kosina wrote: > On Fri, 12 Aug 2016, Daniel Borkmann wrote: > >>> I was thinking about something like the patch below (the reasong being >>> that ->dev would be NULL only in cases of singletonish qdiscs) ... >>> wouldn't that also fix the issue you're seeing? Have to think it >>> through a little bit more .. >> >> Ahh, so this has the same effect as previously observed with the other fix. > > Thanks a lot for confirming that this fixes the panic. I still have to > think a little bit more about this though. > >> Perhaps it's just a dumping issue, but to the below clsact, there shouldn't >> be pfifo_fast instances appearing. >> >> # tc qdisc show dev wlp2s0b1 >> qdisc mq 0: root >> qdisc pfifo_fast 0: parent :4 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> # tc qdisc add dev wlp2s0b1 clsact >> # tc qdisc show dev wlp2s0b1 >> qdisc mq 0: root >> qdisc pfifo_fast 0: parent :4 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc clsact ffff: parent ffff:fff1 >> qdisc pfifo_fast 0: parent :4 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 >> qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 > > Hmm, no immediate idea where those are coming from, we'll have to figure > it out. The mq device used here has 4 queues, right? Yes, the first tc qdisc show is after boot and how it should normally look like, so 4 tx queues. # ls /sys/class/net/wlp2s0b1/queues/ rx-0 tx-0 tx-1 tx-2 tx-3 When adding clsact, only the 'qdisc clsact' line should be extra. Given the extra pfifo_fast ones look the same as above, I would suspect a htab dumping issue, perhaps. I can debug a bit later tonight on this.