new abituguru driver in mm kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hold on to this patch please, because I just saw two messages appear again
after two hours of uptime after resume. This hasn't happened in my previous
tests where machine was up even longer. I think there is more to it than
just sleeping a few milliseconds. It may very well be an issue with my
particular board.

On 7/20/06, Sunil Kumar <devsku at gmail.com> wrote:
>
> I had been getting the problem on a clean boot as well as after a
> suspend/resume cycle. I have now tested it with both reboots and
> suspend/resume cycles multiple times and it seems to work. I agree that the
> worst case delay of 38*50~=2000 msec is big but I don't think we will hit
> that.
>
> anyway, I will give the attached a run and let you know.
>
> Thanks,
> Sunil
>
>
>
> On 7/20/06, Hans de Goede < j.w.r.degoede at hhs.nl> wrote:
> >
> >
> >
> > Sunil Kumar wrote:
> > > Ok, this patch seems to have made the messages go away for good (even
> > with
> > > suspend/resume cycle). Because this patch helps fix it, I suspect that
> > > its a
> > > race between setting the ready state and doing a read because the
> > while
> > > loop
> > > executes really fast and the hardware is not really that fast to
> > respond
> > > when you expect it in ABIT_UGURU_STATUS_READ state in the
> > abituguru_read
> > > call.
> > >
> >
> > Hi,
> >
> > 1) Thanks for all the testing and the patch
> > 2) The while loop speed is not as fast as you think, since the while
> >    test condition contains a inb_p which will do 2 isa reads, thus the
> >    while loops speed is ISA bus bound, not CPU bound.
> > 3) Normally I would object against the sleeping in the while since in
> >    the normal (no suspend problem) case, the loops are intented to
> >    execute pretty fast. In abituguru_update_device 38 read operations
> >    are done, if every read op is going to take milliseconds this will
> >    cause noticable stalls in sensors using applications.
> > 4) However the 2 places where you've inserted the sleep are places where
> >
> >    normally the code succeeds on the first read (so it never enters the
> >    while and thus never sleeps) the whole reason for the while was to
> >    try to fix the problem you're experiencing and you've fixed the fix,
> >    thanks!
> >
> > So the fix is most definitly going in, thanks! Could you try the
> > attached version? I've also modified the suspend / resume code so that
> > it no longer unconditionally marks the uguru not_ready as that seemed to
> >
> > make things worse, instead it now checks the uguru status and sets the
> > ready flag depending on the status.
> >
> > Thanks,
> >
> > Hans
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20060720/4d07214e/attachment.html 


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux