[ 
https://issues.apache.org/jira/browse/TS-2279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14103239#comment-14103239
 ] 

Phil Sorber commented on TS-2279:
---------------------------------

[~b1v1r],

Going from 4.2 to 5.0 we are allowed to change things like this. Probably 
should have documented it better though.

They are currently ordered like they are because of the hierarchy that they 
represent:
One or more NUMA zones in a machine
One or more sockets in a NUMA zone
One or more cores in a socket
One or more threads (processing units) in a core

Most people really wanted NUMA when they pick socket, and on a lot of hardware 
they are 1:1 anyway.

Also, in 4.2 HWLOC doesn't really do anything. There was a long standing bug 
discovered after it was released and the fix was considered too invasive to 
consider a back port.

> proxy.config.exec_thread.affinity's values
> ------------------------------------------
>
>                 Key: TS-2279
>                 URL: https://issues.apache.org/jira/browse/TS-2279
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Configuration
>            Reporter: Igor Galić
>            Assignee: Phil Sorber
>             Fix For: 5.1.0
>
>
> The setting of {{proxy.config.exec_thread.affinity}} only has an affect when 
> traffic server was compiled with {{\-\-enable-hwloc}}. It has *no* affect at 
> all, not even a warning about its being ineffectual when setting that value 
> while trafficserver is *not* configured with {{--enable-hwloc}}.
> Further, mgmt/RecordsConfig.cc defines a range of {{[0-1]}}:
> {code}
>  {RECT_CONFIG, "proxy.config.exec_thread.affinity", RECD_INT, "0", 
> RECU_RESTART_TS, RR_NULL, RECC_INT, "[0-1]", RECA_READ_ONLY}
> {code}
> but the code uses a range of [0-3]:
> {code}
> #if TS_USE_HWLOC
>     if (affinity != 0) {
>       int logical_ratio;
>       switch(affinity) {
>       case 3:           // assign threads to logical cores
>         logical_ratio = 1;
>         break;
>       case 2:           // assign threads to real cores
>         logical_ratio = pu / cu;
>         break;
>       case 1:           // assign threads to sockets
>       default:
>         logical_ratio = pu / socket;
>       }
> {code}
> And finally, 1 is the default value, rather than issuing a warning about an 
> incorrect value.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to