lkml.org 
[lkml]   [2017]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 02/10] cpufreq: provide data for frequency-invariant load-tracking support
    On Wed, Jul 12, 2017 at 09:39:17AM +0530, Viresh Kumar wrote:
    > Yeah, I saw your discussion with Peter on #linux-rt IRC and TBH I wasn't aware
    > that we are going to do fast switching that way. Just trying to get
    > understanding of that idea a bit..
    >
    > So we will do fast switching from scheduler's point of view, i.e. we wouldn't
    > schedule a kthread to change the frequency. But the real hardware still can't do
    > that without sleeping, like if we have I2C somewhere in between. AFAIU, we will
    > still have some kind of *software* bottom half to do that work, isn't it? And it
    > wouldn't be that we have pushed some instructions to the hardware, which it can
    > do a bit later.
    >
    > For example, the regulator may be accessed via I2C and we need to program that
    > before changing the clock. So, it will be done by some software code only.
    >
    > And now I am wondering on why that would be any better than the kthread in
    > schedutil. Sorry, I haven't understood the idea completely yet :(

    So the problem with the thread is two-fold; one the one hand we like the
    scheduler to directly set frequency, but then we need to schedule a task
    to change the frequency, which will change the frequency and around we
    go.

    On the other hand, there's very nasty issues with PI. This thread would
    have very high priority (otherwise the SCHED_DEADLINE stuff won't work)
    but that then means this thread needs to boost the owner of the i2c
    mutex. And that then creates a massive bandwidth accounting hole.


    The advantage of using an interrupt driven state machine is that all
    those issues go away.

    But yes, whichever way around you turn things, its crap. But given the
    hardware its the best we can do.

    \
     
     \ /
      Last update: 2017-07-12 10:32    [W:4.850 / U:0.292 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site