Re: [PATCH v2 1/2] devicetree: add binding for generic mmio clocksource

From: Måns Rullgård
Date: Fri Oct 09 2015 - 17:59:24 EST


Stephen Boyd <sboyd@xxxxxxxxxxxxxx> writes:

> On 10/09, Rob Herring wrote:
>> +Stephen who has worked on this code.
>>
>> On Fri, Oct 9, 2015 at 11:19 AM, Måns Rullgård <mans@xxxxxxxxx> wrote:
>> > Måns Rullgård <mans@xxxxxxxxx> writes:
>> >
>> >> Rob Herring <robherring2@xxxxxxxxx> writes:
>> >>
>> >>> On Wed, Oct 7, 2015 at 11:47 AM, Måns Rullgård <mans@xxxxxxxxx> wrote:
>> >>>> What would be a proper way to select a sched_clock source? I realise
>> >>>> it's a Linux-specific thing and DT is supposed to be generic, but the
>> >>>> information must be provided somehow.
>> >>>
>> >>> The kernel already has some logic to do this. Most number of bits
>> >>> followed by highest frequency will be the winning sched_clock. You
>> >>> might also want to look at things like always on or not.
>> >>
>> >> The problem is that sched_clock_register() doesn't take a pointer to be
>> >> passed back to the read_sched_clock callback like most interfaces of
>> >> this type do. This means the callback must use global variables set up
>> >> before the register call, but at that time there's no way of knowing
>> >> which one will be used. If there were a way of getting a pointer to the
>> >> callback, it would be a simple matter of registering all instances and
>> >> letting the kernel choose which to use.
>> >
>> > Anyone got a comment on this? Do I have to send a patch adding this
>> > before anyone will tell me why it's a bad idea? (That method almost
>> > always works.)
>>
>> Adding a ptr to the callback seems fine to me.
>>
>
> Does that mean a flag day? Urgh. Pain. I'm not opposed to adding
> a pointer, in fact it might be better for performance so that we
> don't take a cache miss in read() functions that need to load
> some pointer. We were talking about that problem a few months
> ago, but nothing came of it.

I've sent a patch. Let the flames begin.

--
Måns Rullgård
mans@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/