Return-path: Received: from mail-la0-f45.google.com ([209.85.215.45]:62919 "EHLO mail-la0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751955AbbAMKfq (ORCPT ); Tue, 13 Jan 2015 05:35:46 -0500 Received: by mail-la0-f45.google.com with SMTP id gq15so1857800lab.4 for ; Tue, 13 Jan 2015 02:35:44 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <1420642040-4530-1-git-send-email-arik@wizery.com> <1420642040-4530-2-git-send-email-arik@wizery.com> From: Arik Nemtsov Date: Tue, 13 Jan 2015 12:35:29 +0200 Message-ID: (sfid-20150113_113549_505871_E3D6AC3F) Subject: Re: [PATCH v2 2/2] cfg80211: avoid reg-hints in self-managed only systems To: Julian Calaby Cc: linux-wireless , Johannes Berg , "Luis R. Rodriguez" Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Tue, Jan 13, 2015 at 12:30 PM, Julian Calaby wrote: > Hi Arik, > > On Tue, Jan 13, 2015 at 9:11 PM, Arik Nemtsov wrote: >> On Tue, Jan 13, 2015 at 6:26 AM, Julian Calaby wrote: >>> Hi Arik, >>> >>> On Thu, Jan 8, 2015 at 1:47 AM, Arik Nemtsov wrote: >>>> When a system contains only self-managed regulatory devices all hints >>>> from the regulatory core are ignored. Stop hint processing early in this >>>> case. These systems usually don't have CRDA deployed, which results in >>>> endless (irrelevent) logs of the form: >>>> cfg80211: Calling CRDA to update world regulatory domain >>>> >>>> Make sure there's at least one self-managed device before discarding a >>>> hint, in order to prevent initial hints from disappearing on CRDA >>>> managed systems. >>>> >>>> Signed-off-by: Arik Nemtsov >>>> --- >>>> net/wireless/reg.c | 25 +++++++++++++++++++++++++ >>>> 1 file changed, 25 insertions(+) >>>> >>>> diff --git a/net/wireless/reg.c b/net/wireless/reg.c >>>> index 521f3a4..588e45f 100644 >>>> --- a/net/wireless/reg.c >>>> +++ b/net/wireless/reg.c >>>> @@ -2120,6 +2120,26 @@ out_free: >>>> reg_free_request(reg_request); >>>> } >>>> >>>> +static bool reg_only_self_managed_wiphys(void) >>>> +{ >>>> + struct cfg80211_registered_device *rdev; >>>> + struct wiphy *wiphy; >>>> + bool self_managed_found = false; >>>> + >>>> + ASSERT_RTNL(); >>> >>> Would it make sense to quickly return false here if the list is empty >>> rather than the whole mess with the new variable? >> >> I'm thinking the "mess" isn't really such a mess - are you expecting a >> real performance hit? > > Personally, purely for readability, I prefer the style of checking and > returning as early as possible. Actually I thought readability was on my side - wanted to point out the shorter version of the code is more legible. I guess it's a matter of personal taste :) > > Arguably doing it my way trades speed for memory efficiency and your > way trades memory efficiency for speed, but it's so small (and this is > so far from a hot path) that there's no real argument either way > whatsoever. Agree it doesn't matter for these reasons. Arik