About CPU cores numbering an processor affinity

Dmitry Sivachenko trtrmitya at gmail.com
Mon Aug 26 13:33:29 UTC 2013


Nobody answered on -hackers, I try to ask there.

Begin forwarded message:

> From: Dmitry Sivachenko <trtrmitya at gmail.com>
> Subject: About CPU cores numbering an processor affinity
> Date: 23 августа 2013 г., 17:23:51 GMT+04:00
> To: hackers at freebsd.org
> 
> Hello!
> 
> I am using FreeBSD-9-STABLE on the following hardware:
> 
> FreeBSD/SMP: Multiprocessor System Detected: 24 CPUs
> FreeBSD/SMP: 2 package(s) x 6 core(s) x 2 SMT threads
> 
> So I have 2 physical CPUs with 6 core each.
> 
> # cpuset -g
> pid -1 mask: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
> 
> 
> So each of 24 cores are numbered 0..23.
> 
> 1) In what particular order are these cores numbered?  Can I assume that 0..11 correspond to 1st physical CPU and 12..23 to second?  How SMT threads are numbered within each core?
> 
> 2) This machine has Intel network adapter (em driver).  I want to pin network interrupt thread and proxy software to the same processor so they share at least L2 or L3 cache.  How can I do this?  From the one hand, I see the following processes:
> 
>   11 root         -92    -     0K   720K WAIT   19 146:38  0.00% intr{irq260: em1:rx 0}
>   11 root         -92    -     0K   720K WAIT   19  15:11  0.00% intr{irq261: em1:tx 0}
> 
> From the other hand, the following processes seems to be unrelated to network but they share same PID:
>   11 root         -60    -     0K   720K WAIT    1 131:20  0.00% intr{swi4: clock}
>   11 root         -88    -     0K   720K WAIT   17  40:03  0.00% intr{irq263: ahci0}
>   11 root         -72    -     0K   720K WAIT   22  17:35  0.00% intr{swi1: netisr 0}
>   11 root         -88    -     0K   720K WAIT    3   3:08  0.00% intr{irq256: mfi0}
> 
> Should I use "-x" option of cpuset for that purpose (to bind irq 260 and 261 in my example)?
> 
> Thanks in advance!
> 



More information about the freebsd-threads mailing list