[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAB3XZEd1D7mR3Q_vweNHYUbZxmywbMi3FomQbdSy=1DB8Y0KzA@mail.gmail.com>
Date: Thu, 1 Dec 2011 16:23:19 +0200
From: Eliad Peller <eliad@...ery.com>
To: Michal Hocko <mhocko@...e.cz>
Cc: Stanislaw Gruszka <sgruszka@...hat.com>,
LKML <linux-kernel@...r.kernel.org>,
"John W. Linville" <linville@...driver.com>,
linux-wireless@...r.kernel.org, Yong Zhang <yong.zhang0@...il.com>
Subject: Re: [3.2-rc3] 100% CPU usage while in del_timer_sync from iwl3945_rs_free_sta
On Thu, Dec 1, 2011 at 4:05 PM, Michal Hocko <mhocko@...e.cz> wrote:
> On Thu 01-12-11 13:44:40, Michal Hocko wrote:
>> On Thu 01-12-11 12:59:12, Stanislaw Gruszka wrote:
>> > On Thu, Dec 01, 2011 at 11:55:38AM +0100, Michal Hocko wrote:
>> > > [ 349.316070] iwl3945_rs_free_sta rs_sta f4be1ac0
>> > > [ 349.316076] ------------[ cut here ]------------
>> > > [ 349.316097] WARNING: at drivers/net/wireless/iwlegacy/iwl-3945-rs.c:438 iwl3945_rs_free_sta+0x33/0x42 [iwl3945]()
>> >
>> > Johannes pointed on irc that this problem is most likely caused by:
>> >
>> > commit f785d83a19bca326f79d127a413e35769afc0105
>> > Author: Eliad Peller <eliad@...ery.com>
>> > Date: Mon Aug 8 16:50:22 2011 +0300
>> >
>> > mac80211: clear sta.drv_priv on reconfiguration
>> >
>> > Michal, could you confirm that? If that is the root of the problem, we
>> > need patch for iwlegacy (and iwlwifi) that allocate separate memory for
>> > rc structures.
>>
>> Should I just revert it?
>
> Reverted and guess what ;)
> Yeah, it works. So feel free to add
> Reported-adn-Tested-by: Michal Hocko <mhocko@...e.cz>
> to the revert.
>
cool. after giving it a second look, i agree with Stanislaw - let's
continue with the revert.
> Anyway, I have really no idea about the 80211 stack but the patch
> doesn't seem to be correct from the layering POV. Why should generic
> layer clear something that is driver private data (or at least the
> naming suggests that it is driver specific data)?
the driver should "know" the station (and its private data) only
between the .sta_add() and .sta_remove() callbacks.
on suspend, we do call sta_remove(), so it's valid to clear the private data.
the problem is that the rate control also uses the same private data,
and is valid also after sta_remove() was called. i think the right
solution is to split the generic private data and the rate control
private data.
Eliad.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists