preemptive kernel
Orit Moskovich
oritm at mellanox.com
Mon May 27 12:29:47 UTC 2013
>From what I've read in subr_taskqueue.c taskqueue_swi, taskqueue_swi_giant and taskqueue_fast are all implemented using swi_add which calls ithread_create().
Is there any performance difference between them. Is one of the above or ithread given to bus_setup_intr preferable on the other?
-----Original Message-----
From: Andriy Gapon [mailto:avg at FreeBSD.org]
Sent: Monday, May 27, 2013 03:18 PM
To: Orit Moskovich
Cc: Konstantin Belousov; freebsd-hackers at freebsd.org
Subject: Re: preemptive kernel
on 27/05/2013 10:21 Orit Moskovich said the following:
> What is actually the difference between deferring a filter routine's work using an ithread given to bus_setup_intr, or using the global taskqueue_swi (implemented using interrupt thread)?
I think you mean taskqueue_fast.
The difference is only in how much code you need to write. I do not think there is any significant difference in the resulting functionality.
> What do you mean that the functionality is locked under INTR_FILTER?
Please see the code. You have to use option INTR_FILTER to get the behavior I described earlier.
> -----Original Message-----
> From: Andriy Gapon [mailto:avg at FreeBSD.org]
> Sent: Monday, May 27, 2013 10:11 AM
> To: Konstantin Belousov
> Cc: Orit Moskovich; freebsd-hackers at freebsd.org
> Subject: Re: preemptive kernel
>
> on 27/05/2013 09:34 Konstantin Belousov said the following:
>> Having both filter and ithread for the same interrupt is apparently
>> possible but weird. I do not see anything which would prevent
>> interrupt filter from being executed while the ithread is running.
>> But again, this is very unusual setup.
>
> I wouldn't call it weird, but, yes, it is rare. It's a pretty normal configuration when the filter acts as a filter and the handler acts as a handler (in ithread). In other words, it would be a replacement for a configuration where a filter is used and the filter offloads actual work to non-interrupt context via a e.g. taskqueue.
> But, hmm, this functionality is probably locked under INTR_FILTER option.
>
> --
> Andriy Gapon
>
--
Andriy Gapon
More information about the freebsd-hackers
mailing list