From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejaswi Tanikella Subject: Re: [PATCH net] ipv4: igmp: hold wakelock to prevent delayed reports Date: Wed, 6 Jun 2018 20:08:48 +0530 Message-ID: <20180606143806.GA27968@tejaswit-linux.qualcomm.com> References: <20180601140532.GA13253@tejaswit-linux.qualcomm.com> <20180604.110640.184022152967598302.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org, f.fainelli@gmail.com, andrew@lunn.ch, edumazet@google.com To: David Miller Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]:41906 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752034AbeFFOjC (ORCPT ); Wed, 6 Jun 2018 10:39:02 -0400 Content-Disposition: inline In-Reply-To: <20180604.110640.184022152967598302.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: On Mon, Jun 04, 2018 at 11:06:40AM -0400, David Miller wrote: > From: Tejaswi Tanikella > Date: Fri, 1 Jun 2018 19:35:41 +0530 > > > On receiving a IGMPv2/v3 query, based on max_delay set in the header a > > timer is started to send out a response after a random time within > > max_delay. If the system then moves into suspend state, Report is > > delayed until system wakes up. > > > > In one reported scenario, on arm64 devices, max_delay was set to 10s, > > Reports were consistantly delayed if the timer is scheduled after 5 plus > > seconds. > > > > Hold wakelock while starting the timer to prevent moving into suspend > > state. > > > > Signed-off-by: Tejaswi Tanikella > > As Florian stated, this won't be the only networking facility to hit > a problem like this. So, if we go down this route, we probably want > to generically solve this. > > But I have a deeper concern. > > Do we really want every timer based querying mechanism to prevent a > system from being able to suspend? > > We get to the point where external entities can generate traffic which > can prevent a remote system from entering suspend state. Like you suggested maybe aquiring a wakelock will unnecessarily stop the system from suspending. Would using alarmtimer be better? It seems similar to a hrtimer but can wake the system up from suspend. This should allow the system to suspend till the timer expires. But might cause repeated wake-ups and suspends.