Commit 47aac49
committed
[OpenMP][AIX] Affinity implementation for AIX (#84984)
This patch implements `affinity` for AIX, which is quite different from
platforms such as Linux.
- Setting CPU affinity through masks and related functions are not
supported. System call `bindprocessor()` is used to bind a thread to one
CPU per call.
- There are no system routines to get the affinity info of a thread. The
implementation of `get_system_affinity()` for AIX gets the mask of all
available CPUs, to be used as the full mask only.
- Topology is not available from the file system. It is obtained through
system SRAD (Scheduler Resource Allocation Domain).
This patch has run through the libomp LIT tests successfully with
`affinity` enabled.
(cherry picked from commit d394f3a)1 parent a385a91 commit 47aac49
File tree
6 files changed
+229
-19
lines changed- openmp/runtime
- src
- test
6 files changed
+229
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
818 | 818 | | |
819 | 819 | | |
820 | 820 | | |
| 821 | + | |
821 | 822 | | |
822 | 823 | | |
823 | 824 | | |
| |||
842 | 843 | | |
843 | 844 | | |
844 | 845 | | |
| 846 | + | |
845 | 847 | | |
846 | 848 | | |
847 | 849 | | |
| |||
3911 | 3913 | | |
3912 | 3914 | | |
3913 | 3915 | | |
3914 | | - | |
| 3916 | + | |
3915 | 3917 | | |
3916 | 3918 | | |
3917 | 3919 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2906 | 2906 | | |
2907 | 2907 | | |
2908 | 2908 | | |
2909 | | - | |
| 2909 | + | |
| 2910 | + | |
2910 | 2911 | | |
2911 | 2912 | | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
| 2916 | + | |
| 2917 | + | |
2912 | 2918 | | |
2913 | 2919 | | |
2914 | | - | |
2915 | 2920 | | |
2916 | 2921 | | |
2917 | 2922 | | |
| |||
2970 | 2975 | | |
2971 | 2976 | | |
2972 | 2977 | | |
| 2978 | + | |
2973 | 2979 | | |
2974 | 2980 | | |
2975 | 2981 | | |
| |||
2999 | 3005 | | |
3000 | 3006 | | |
3001 | 3007 | | |
| 3008 | + | |
| 3009 | + | |
| 3010 | + | |
| 3011 | + | |
| 3012 | + | |
| 3013 | + | |
| 3014 | + | |
| 3015 | + | |
| 3016 | + | |
| 3017 | + | |
| 3018 | + | |
| 3019 | + | |
| 3020 | + | |
| 3021 | + | |
| 3022 | + | |
| 3023 | + | |
| 3024 | + | |
| 3025 | + | |
| 3026 | + | |
| 3027 | + | |
| 3028 | + | |
| 3029 | + | |
| 3030 | + | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
| 3036 | + | |
| 3037 | + | |
| 3038 | + | |
| 3039 | + | |
| 3040 | + | |
| 3041 | + | |
| 3042 | + | |
| 3043 | + | |
| 3044 | + | |
| 3045 | + | |
| 3046 | + | |
| 3047 | + | |
| 3048 | + | |
| 3049 | + | |
| 3050 | + | |
| 3051 | + | |
| 3052 | + | |
| 3053 | + | |
| 3054 | + | |
| 3055 | + | |
| 3056 | + | |
| 3057 | + | |
| 3058 | + | |
| 3059 | + | |
| 3060 | + | |
| 3061 | + | |
| 3062 | + | |
| 3063 | + | |
| 3064 | + | |
| 3065 | + | |
| 3066 | + | |
| 3067 | + | |
| 3068 | + | |
| 3069 | + | |
| 3070 | + | |
| 3071 | + | |
| 3072 | + | |
| 3073 | + | |
| 3074 | + | |
| 3075 | + | |
| 3076 | + | |
| 3077 | + | |
| 3078 | + | |
| 3079 | + | |
| 3080 | + | |
| 3081 | + | |
| 3082 | + | |
| 3083 | + | |
| 3084 | + | |
| 3085 | + | |
| 3086 | + | |
| 3087 | + | |
| 3088 | + | |
| 3089 | + | |
| 3090 | + | |
| 3091 | + | |
| 3092 | + | |
| 3093 | + | |
| 3094 | + | |
| 3095 | + | |
| 3096 | + | |
| 3097 | + | |
| 3098 | + | |
| 3099 | + | |
| 3100 | + | |
3002 | 3101 | | |
3003 | 3102 | | |
3004 | 3103 | | |
| |||
3246 | 3345 | | |
3247 | 3346 | | |
3248 | 3347 | | |
| 3348 | + | |
| 3349 | + | |
3249 | 3350 | | |
3250 | 3351 | | |
3251 | 3352 | | |
| |||
4441 | 4542 | | |
4442 | 4543 | | |
4443 | 4544 | | |
4444 | | - | |
| 4545 | + | |
4445 | 4546 | | |
4446 | 4547 | | |
4447 | 4548 | | |
| |||
4837 | 4938 | | |
4838 | 4939 | | |
4839 | 4940 | | |
| 4941 | + | |
| 4942 | + | |
| 4943 | + | |
| 4944 | + | |
4840 | 4945 | | |
| 4946 | + | |
4841 | 4947 | | |
4842 | 4948 | | |
4843 | 4949 | | |
| |||
5011 | 5117 | | |
5012 | 5118 | | |
5013 | 5119 | | |
| 5120 | + | |
| 5121 | + | |
5014 | 5122 | | |
| 5123 | + | |
5015 | 5124 | | |
5016 | 5125 | | |
5017 | 5126 | | |
| |||
5124 | 5233 | | |
5125 | 5234 | | |
5126 | 5235 | | |
5127 | | - | |
| 5236 | + | |
5128 | 5237 | | |
5129 | 5238 | | |
5130 | 5239 | | |
5131 | 5240 | | |
5132 | 5241 | | |
5133 | 5242 | | |
5134 | 5243 | | |
5135 | | - | |
| 5244 | + | |
5136 | 5245 | | |
5137 | 5246 | | |
5138 | 5247 | | |
| |||
5155 | 5264 | | |
5156 | 5265 | | |
5157 | 5266 | | |
5158 | | - | |
| 5267 | + | |
5159 | 5268 | | |
5160 | 5269 | | |
5161 | 5270 | | |
| |||
5175 | 5284 | | |
5176 | 5285 | | |
5177 | 5286 | | |
5178 | | - | |
| 5287 | + | |
5179 | 5288 | | |
5180 | 5289 | | |
5181 | 5290 | | |
| |||
5557 | 5666 | | |
5558 | 5667 | | |
5559 | 5668 | | |
5560 | | - | |
| 5669 | + | |
5561 | 5670 | | |
5562 | 5671 | | |
5563 | 5672 | | |
| |||
5592 | 5701 | | |
5593 | 5702 | | |
5594 | 5703 | | |
| 5704 | + | |
| 5705 | + | |
| 5706 | + | |
5595 | 5707 | | |
| 5708 | + | |
5596 | 5709 | | |
5597 | 5710 | | |
5598 | 5711 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
| 194 | + | |
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| |||
314 | 314 | | |
315 | 315 | | |
316 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
317 | 321 | | |
318 | 322 | | |
319 | 323 | | |
| |||
401 | 405 | | |
402 | 406 | | |
403 | 407 | | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
404 | 472 | | |
405 | 473 | | |
406 | 474 | | |
| |||
443 | 511 | | |
444 | 512 | | |
445 | 513 | | |
| 514 | + | |
446 | 515 | | |
447 | 516 | | |
448 | 517 | | |
| |||
471 | 540 | | |
472 | 541 | | |
473 | 542 | | |
474 | | - | |
| 543 | + | |
475 | 544 | | |
476 | 545 | | |
477 | 546 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
0 commit comments