Skip site navigation (1)Skip section navigation (2)
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>