From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [RFC PATCH] ALSA: hda - Implement a poll loop for jacks as a module parameter Date: Fri, 12 Oct 2012 09:03:08 +0200 Message-ID: References: <1349788784-11700-1-git-send-email-david.henningsson@canonical.com> <50743477.9050401@canonical.com> <50757C73.3050602@canonical.com> <5075961A.7010909@canonical.com> <5077BD64.4070209@canonical.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id D17032615F1 for ; Fri, 12 Oct 2012 09:03:08 +0200 (CEST) In-Reply-To: <5077BD64.4070209@canonical.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: David Henningsson Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Fri, 12 Oct 2012 08:49:08 +0200, David Henningsson wrote: > > On 10/10/2012 05:59 PM, Takashi Iwai wrote: > > At Wed, 10 Oct 2012 17:36:58 +0200, > > David Henningsson wrote: > >> > >> On 10/10/2012 04:07 PM, Takashi Iwai wrote: > >>> At Wed, 10 Oct 2012 15:47:31 +0200, > >>> David Henningsson wrote: > >>>> > >>>> On 10/09/2012 04:57 PM, Takashi Iwai wrote: > >>>>> At Tue, 09 Oct 2012 16:28:07 +0200, > >>>>> David Henningsson wrote: > >>>>>> Or, to make it a bit more pragmatic, what other things are broken with > >>>>>> single_cmd? Could you give an example where this change would be harmful? > >>>>> > >>>>> The single cmd mode itself was introduced as a sort of rescue command > >>>>> without CORB/RIRB. We shouldn't use it in normal situations. It's > >>>>> simply no considered use case. > >>>>> > >>>>> With a lack of unsol event, you can't handle the volume knob, or any > >>>>> GPIO events, too. > >>>> > >>>> Those two are quite uncommon, and can be polled too if necessary. > >>> > >>> I wonder from where your love to polling comes... > >> > >> It's not a love for polling. It's a pragmatic view of having people's > >> machines working at best effort. > > > > I'm not against to implement the polling if the hardware is really > > broken and doesn't emit the unsol event properly. > > But preferring the poll is a different question. The poll should be > > always a second choice. > > Of course. Polling should be disabled by default. > > >> If we, due to lack of time, hardware, > >> specifications, whatever, can't have the best option available to our > >> users, I prefer to have it working but "secretly performing worse", to > >> not having it working at all. > > > > It works more or less but just without unsol event. It should be > > enough not to stop most of works, but enough for people noticing the > > problem they face. Again, if single_cmd mode fallback happens, > > something must be wrong. This is the thing to be fixed. > > > >> I'm genuinely trying to understand what's so wrong with single cmd mode > >> *in practice*, but when what I get in return from you is stuff about > >> saving the world and peaceful living, I don't know how to interpret that > >> "information". > > > > Using single_cmd mode is like driving a car only with the side brake. > > I'm not convinced; but it does not matter much, as you're the boss. The point is that it isn't designed to be used for such a purpose. You can drive on route66 over north American continent only with a side brake, too. But the car manufacturer would warn you if you do that, or if you set up a car and let other drivers try. Similarly, single_cmd isn't designed to be used as the primary communication method. The hardware manufacturers never tested this mode in that way. > >>>>> Well, do you want to allow 1ms polling? > >>>> > >>>> I can't see why not, if people want to burn CPU cycles, why not let > >>>> them. > >>> > >>> You seem to trust users too much :) > >> > >> Well, there's already a single_cmd module parameter, which if enabled > >> causes "no peaceful living at all", can't be worse than that, can it? ;-) > > > > It's a completely different problem. > > It was a joke. > > > You are trying to allow user setting up a parameter which may freeze > > the machine immediately by 100% CPU hog. It won't happen with > > single_cmd mode option. > > Fair enough. > > I tested with "jackpoll_ms=50 single_cmd=1" on a 2 year old laptop and I > did not notice any performance difference (neither from the polling nor > the single_cmd). > > If people want less than 50 ms polling, they're probably trying to do > something extraordinary that we don't imagine right now, and hopefully > they know how to compile their own kernel, or can present their use case > to us. > > So I just picked 50 ms. Feel free to apply the attached patch. Yeah, 50ms sounds reasonable. thanks, Takashi