From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: 2.6.35-rc2, CONFIG_RPS is filling the dmesg log Date: Wed, 09 Jun 2010 17:27:26 +0200 Message-ID: <1276097246.2442.186.camel@edumazet-laptop> References: <4C0EAE3E.4070708@canonical.com> <4C0F96B4.2000307@canonical.com> <1276090953.2442.140.camel@edumazet-laptop> <4C0FB1D3.60901@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: netdev To: tim.gardner@canonical.com Return-path: Received: from mail-ww0-f46.google.com ([74.125.82.46]:42002 "EHLO mail-ww0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753790Ab0FIP1a (ORCPT ); Wed, 9 Jun 2010 11:27:30 -0400 Received: by wwb31 with SMTP id 31so353212wwb.19 for ; Wed, 09 Jun 2010 08:27:29 -0700 (PDT) In-Reply-To: <4C0FB1D3.60901@canonical.com> Sender: netdev-owner@vger.kernel.org List-ID: Le mercredi 09 juin 2010 =C3=A0 09:22 -0600, Tim Gardner a =C3=A9crit : > On 06/09/2010 07:42 AM, Eric Dumazet wrote: > > Le mercredi 09 juin 2010 =C3=A0 07:27 -0600, Tim Gardner a =C3=A9cr= it : > >> On 06/08/2010 02:55 PM, Tim Gardner wrote: > >>> With 2.6.35-rc2 my dmesg log is being flooded with messages like = this: > >>> > >>> br0 received packet on queue 4, but number of RX queues is 1 > >>> > >>> This machine is bridged for KVM and has 2 igb network adapters. > >>> > >>> The root cause appears to be CONFIG_RPS=3Dy and the fact that non= e of the > >>> drivers that call skb_record_rx_queue() perform their net device > >>> allocation using alloc_netdev_mq(), thereby initializing num_rx_q= ueues > >>> to a maximum of 1. > >>> > >>> Given that this is early RPS days, is the warning in get_rps_cpu(= ) > >>> really necessary? It would appear that _all_ of the multi-receive= queue > >>> devices that call skb_record_rx_queue() will cause this log noise= =2E > >>> > >>> By the way, how do you turn off CONFIG_RPS? The only way I could = get it > >>> disabled was to change the default in net/Kconfig to 'n'. > >>> > >>> rtg > >> > >> This is the route that I'm taking with Ubuntu in the short term. I= 'll > >> have lots of server testers complaining pretty soon if I don't tak= e care > >> of this now. It does keep my server logs from filling. > >> > >> rtg > >> > > > > Probably fine, but your commit message is not exact : > > > > So far no users of skb_record_rx_queue() use alloc_netdev_mq() f= or > > network device initialization, so don't print a warning about nu= m_rx_queues > > imbalances in get_rps_cpu() unless they have actually been alloc= ated. > > > > In fact, drivers that use skb_record_rx_queue() did use alloc_netde= v_mq(). > > > > Problem is : packets going thru bridge/bonding that are not yet > > multiqueue enabled. If R[PF]S enabled for these "virtual devices", > > we trigger the get_rps_cpu() warning. > > > > Also, in a bonding setup, we still have a problem > > because all tx packets will go thru tx queue 0 (dev_pick_tx() job) > > > > (That might be good to know that for Ubuntu server testers) > > >=20 > How about this? >=20 Acked-by: Eric Dumazet Thanks !