Date: Sat, 1 Oct 2011 17:38:19 +0800 From: Adrian Chadd <adrian@freebsd.org> To: Alexander Motin <mav@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: how are callouts handled in cpu_idle() ? Message-ID: <CAJ-Vmon1xMpourX1u6%2Bx=Y%2Bpi3G3VNCCJRoO1wHH6kCMKFYKog@mail.gmail.com> In-Reply-To: <4E86DC86.3040204@FreeBSD.org> References: <CAJ-Vmoksy68YmTXAQ1S87-%2BFMUHjZ-K0TOV0OUm3hQpYGZhXHw@mail.gmail.com> <4E86DC86.3040204@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1 October 2011 17:25, Alexander Motin <mav@freebsd.org> wrote: > Use of critical section in cpu_idle() from the beginning was based on > number of assumptions about filter interrupt handler's limitations. [snip] > So, if you really need to use callout() in interrupt filter, we could > disable interrupts before calling cpu_idleclock(), as you have told. But > that is only a partial solution and you should be ready for the second > half of the problems. Depending on your needs I am not sure it will > satisfy you. I'm not using callouts from a swi in ath(4), at least not yet. I haven't yet gone over all the drivers in sys/dev/ to see if any of them are actually doing this. I was just making an observation. I may have to go digging into how Linux manages to do this without having the occasional interrupt latency issue that FreeBSD/MIPS is. For all I know, Linux has the same issue on the mips32 platforms that I'm currently testing on. Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmon1xMpourX1u6%2Bx=Y%2Bpi3G3VNCCJRoO1wHH6kCMKFYKog>