Re: svn commit: r225892 - head/sys/mips/mips

[ Available lists | Index of svn-src-head | Month of Oct 2011 | Week of 1 Oct 2011 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Adrian Chadd <adrian@freebsd.org>
Date
1 Oct 2011 08:50:56
Subject
Re: svn commit: r225892 - head/sys/mips/mips
Message-ID
CAJ-Vmon32cVEVvC=3WJVmDkCUdyLWyec3sqU-ifzspVSPxedfg@mail.gmail.com


[ Hide this part ]
On 1 October 2011 15:21, Jayachandran C. <jchandra@freebsd.org> wrote:

> I would like to understand this, reverting r216862 would take out the
> critical_enter() and cpu_idleclock() which would keep the timer
> interrupts coming is as usual, this should not affect the event timer.

Because the fundamental problem still exists w/out preemption -
netisr/taskqueue scheduling doesn't happen if it happens just before
the wait call.

I haven't verified that mav's timer stuff does the correct thing by
configuring the clock timer to occur every 1000hz in this instance. I
kinda hope so.

If I flip on preemption, then this may be fixed, but flipping on
preemption causes other issues on the single-core MIPS boards that
I've used when doing high-throughput 11n NIC testing. I don't (yet)
know why.

In any case, I think it's worth writing per-platform/per-chip
cpu_idle() functions and set it up at boot/probe time. I'll happy do
it if you're happy to do the digging with XLR to ensure this is all
handled accurately in that instance. I just don't have the deep MIPS
clue needed to ensure this is all correct and noone really piped up to
come up with a better solution.

I really want to see this all work correctly. :)




Adrian


Elapsed time: 1.011 seconds