Re: Binding timer interrupt to a cpu core

From: Barney Cordoba <barney_cordoba_at_yahoo.com>
Date: Wed, 21 Jan 2009 05:39:19 -0800 (PST)
--- On Wed, 1/21/09, Ivan Voras <ivoras_at_freebsd.org> wrote:

> From: Ivan Voras <ivoras_at_freebsd.org>
> Subject: Re: Binding timer interrupt to a cpu core
> To: freebsd-current_at_freebsd.org
> Date: Wednesday, January 21, 2009, 6:39 AM
> Barney Cordoba wrote:
> > Is there a way in 7.1 to bind a timer software
> interrupt? I see cpuset for userland threads, but its not
> clear how to do it within the kernel.
> 
> Each CPU already has its own timer ticking:
> 
>     3 users    Load  0.00  0.00  0.00                  Jan
> 21 12:36
> 
> Mem:KB    REAL            VIRTUAL                       VN
> PAGER   SWAP
> PAGER
>         Tot   Share      Tot    Share    Free           in 
>  out     in
>   out
> Act 2152484   21140  2945416    46804  169412  count
> All 2267140   25916  7497096    71436          pages
> Proc:                                                      
>      Interrupts
>   r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt     19
> cow    3204 total
>           6 170       476  213  119    4  147  203    101
> zfod
> atkbd0 1
>                                                          
> ozfod
> ata0 irq14
>  0.1%Sys   0.1%Intr  0.0%User  0.0%Nice 99.8%Idle       
> %ozfod     1
> ciss0 uhci
> |    |    |    |    |    |    |    |    |    |    |      
> daefr
> uhci4 22
>                                                       118
> prcfr   400
> cpu0: time
>                                         51 dtbuf      173
> totfr     3
> bce0 256
> Namei     Name-cache   Dir-cache    100000 desvn         
> react   400
> cpu5: time
>    Calls    hits   %    hits   %     83412 numvn         
> pdwak   400
> cpu7: time
>       33      28  85       1   3     24999 frevn         
> pdpgs   400
> cpu6: time
>                                                          
> intrn   400
> cpu3: time
> Disks   da0 pass0                                  478268
> wire    400
> cpu4: time
> KB/t  18.00  0.00                                 2240976
> act     400
> cpu2: time
> tps       2     0                                 1131116
> inact   400
> cpu1: time
> MB/s   0.04  0.00                                  129228
> cache
> %busy     0     0                                   40184
> free
> 
> 
> Interrupts can be bound to CPUs but only by using APIs
> within the kernel
> (there's no userland utility for it).

I'm asking HOW, to do it within the kernel.

When I said timer, I meant software interrupts created with timeout()

Barney


      
Received on Wed Jan 21 2009 - 12:39:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:40 UTC