forked from ibm-power-utilities/powerpc-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangelog
4914 lines (3489 loc) · 195 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
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
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
powerpc-utils-1.3.9
=====================================================================
commit 88ebfd97d1c4f9868e1ef2839bd0c375fcbf0153
Author: Tyrel Datwyler <[email protected]>
Date: Fri May 21 15:28:28 2021 -0700
drmgr: increase log size to 1MB
The current log threshold is currently a skant 25000 bytes. The resulting log
rotations from higher verbosity detail levels (eg. -d 15 to get rtas debug
output) can hinder problem determination.
Raise the log rotation threshold to 1MB so that more history is preserved.
Suggested-by: Nathan Lynch <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit ef7d286e3d56c186a9a95ff38847a0cfc7f22915
Author: Mingming Cao <[email protected]>
Date: Thu Jul 15 15:50:10 2021 -0700
Fix checking HCNID array size at boot time
In commit 0b59d4a372aa ("hcnmgr: Avoid cleanup of bond interface at boot time
when no HNV exists") it checks whether the HCNID array is empty to avoid
cleanup of non-HNV related network profiles after reboot. The hcnmgr scan run
log shows checking the number of HCNID array elements has not been done
properly.
hcnmgr[905]: [DEBUG]:search ibmveth device with ibm,hcn-id propterty......
hcnmgr[905]: /usr/sbin/hcnmgr: line 585: ${HcnIds[[@]}: bad substitution
Fixes: 0b59d4a372aa ("hcnmgr: Avoid cleanup of bond interface at boot time when no HNV exists")
Signed-off-by: Mingming Cao <[email protected]>
[tyreld: fixed up commit log, added Fixes tag]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 2a6726509b21c36feb54ed4f0607ea5d8d860665
Author: Michal Suchanek <[email protected]>
Date: Thu Jul 15 15:41:57 2021 -0700
hcnmgr: Set autoconnect-slaves on HNV connections.
When not set bringing up the HNV connection does not bring up network
connectivity.
Signed-off-by: Michal Suchanek <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit c87b25f928d2311ebd640a78c17e14431c68c551
Author: Michal Suchanek <[email protected]>
Date: Thu Jul 15 15:41:56 2021 -0700
hcnmgr: When trying to detect HNV bond list all connections, not only active ones.
When NM is starting up the HNV connection is not active when hcnmgr
looks for it and it is recreated.
Signed-off-by: Michal Suchanek <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 29c725495181203e10c75cb946ae08a402476221
Author: Michal Suchanek <[email protected]>
Date: Thu Jul 15 15:41:55 2021 -0700
hcnmgr: Use hexdump from util-linux rather than xxd from vim
xxd is part of vim which may not be installed in minimal environments or
on systems using other text editor. hexdump is part of util-linux which
is likely to be available.
Signed-off-by: Michal Suchanek <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit b27b3bd624b7bc68835d6c39f9f1870393c11445
Author: Michal Suchanek <[email protected]>
Date: Thu Jul 15 15:41:54 2021 -0700
hcn-init.service: Start together with NetworkManager.
hcn-init uses NetworkManager so it does not make sense to run it when
different connection manager is in use. Also when NetworkManager is in
use it should be started automatically.
Signed-off-by: Michal Suchanek <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 9375e34aa02b73a81209112f0ee9e1489793d626
Author: Brian King <[email protected]>
Date: Mon Jun 28 17:15:37 2021 -0500
ofpathname: Fix OF to logical FC lookup for multipath
If a FC target has multiple initiator ports that can see
the same target ports, attempting to do an OF to logical
lookup will return the wrong value sometimes. Fix this
by checking to ensure we are using the correct initiator
port.
Signed-off-by: Brian King <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 9be8e8b7cffb293bf8bc928134ad076efde42606
Author: Brian King <[email protected]>
Date: Mon Jun 28 17:15:36 2021 -0500
ofpathname: Fix OF to logical lookup with partitions
If the OF pathname has the disk partition specified with a :1,
for example, we currently fail to find the logical device name.
Fix this by stripping it and reapplying it after we find the
device.
Signed-off-by: Brian King <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 9f741349064153bef4d710db19b9e50a5c732301
Author: Brian King <[email protected]>
Date: Mon Jun 28 17:15:35 2021 -0500
bootlist: Fix for multipath devices with > 5 paths
Only five entries can be added to the bootlist. If more than that
are specified, the script flags this as an error and aborts.
However, if a multipath device with more than 5 paths is
specified, this is also failing. Rather than failing to set
any boot entries in this case, we should simply truncate the
boot list to the first 5 paths, which is what this patch does.
Signed-off-by: Brian King <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 9104167a0ee93989757326136b94daad585cd87c
Author: John Paul Adrian Glaubitz <[email protected]>
Date: Sun Apr 18 10:05:49 2021 +0200
ofpathname: Add missing substring extraction of devpart in l2of_vd()
l2of_vd() contains the necessary bits to append the partition number
to the resulting OFPATH, but it does not actually extract the partition
number from the logical device path in the first place. This adds the
missing substring extraction of the partition number from the logical
device path so that the partition number is appended to OFPATH when
the logical device is a partition.
Signed-off-by: John Paul Adrian Glaubitz <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 4336877347adfd799881ad6bde5ee2dd9ca5acd5
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 18:00:05 2021 +0200
Introducing lparnumascore
This command is computing the LPAR NUMA score for CPU and memory.
After a LPM, resources like CPU and memory could be reassigned to a
different NUMA node. But the Linux kernel is not able to replicate these
changes and since the kernel commit bb7c3d36e3b1 ("powerpc/pseries: remove
prrn special case from DT update path"), PRRN event are only updating the
device tree, but not the resource's assignement the kernel is managing.
This new command detects CPU and memory resources the kernel keep binded to
the NUMA node topology of the departure node. It computes a ratio, and
print it to the standard output.
The ratio is between 0 (worst) and 100 (best).
For instance when half of the CPUs have been reassigned to a new NUMA node,
the score would be 50. If all the CPUs are on the right node, the score
would be 100.
The command can compute the CPU and memory score or only one if specified
through the -c option.
Example of output:
$ ./lparnumascore -h
Usage: lparnumascore [-d detail_level] [-c {mem | cpu}]
$ ./lparnumascore
CPU score: 80
MEM score: 45
$ ./lparnumascore -c mem
MEM score: 45
$ ./lparnumascore -c cpu
CPU score: 80
The command is not locking /var/lock/dr_config_lock so user should ensure
that there is not ongoing command impacting the computed scores. This
allows the command to be run without special privileges.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit fb5feb0da8fa7295e623741776e81ba85411ab3c
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 18:00:04 2021 +0200
drmgr: export block_sz_bytes
Callers of get_lmb() could be interested in knowing the block size.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 66b91615ed94ae7253f72f66572976a3a82d97f3
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 18:00:03 2021 +0200
drmgr: introduce of_associativity_to_node
This device tree related function reads the ibm,associativity propertie of
a node and, using the specified min_common_deth, is returning the NUMA node
id.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 13e8b81a1d0e4c104aa70c06f9205c09c7233d96
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 18:00:02 2021 +0200
drmgr: rename is_lsslot_cmd into read_dynamic_memory_v2
is_lsslot_cmd is used to decide if ibm,dynamic-memory-v2 should be read or
not.
Rename it as read_dynamic_memory_v2 so it would be used by command other
than lsslot.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 6cef0ada83248fd804d04a6577af3ab3c5e7278c
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 18:00:01 2021 +0200
drmgr: move associativity lookup arrays management to common-ofdt.c
This is related to the DT reading so should reside to common-ofdt.c.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 8ac3aca62371c250f55254a0c369ce0385cadebb
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 18:00:00 2021 +0200
drmgr: move some code to common_ofdt.c
alloc_dr_node() and free_node() should be put in common_ofdt.c instead of
common_pci.c.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 00312816661accf9bbf090572fbf22b71cac3682
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 17:59:59 2021 +0200
rpm: fix rpmbuild error
rpmbuild is reporting the following error:
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/laurent/rpmbuild/BUILDROOT/powerpc-utils-1.3.8-1.ppc64le
error: Installed (but unpackaged) file(s) found:
/usr/share/man/man8/drmgr.8.gz
This is because the file is not mentioned in the RPM specification file.
Fixes: bd8dd36b33cd ("man: add manpage for the drmgr utility")
Cc: Tyrel Datwyler <[email protected]>
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit b0d65380dc02377f09c06bd51dc07ad7d86646f5
Author: Laurent Dufour <[email protected]>
Date: Thu Apr 29 17:59:58 2021 +0200
rpm: fix bogus date in the changelog
rmbuild is complaining because Tue December 7th didn't exist, this was a
Wednesday:
$ rpmbuild SPECS/powerpc-utils.spec
warning: bogus date in %changelog: Tue Dec 7 2011 Brian King <[email protected]>
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 07c4ee28b2c93279e25534a16600baad5c0331a7
Author: Laurent Dufour <[email protected]>
Date: Mon Apr 19 10:40:15 2021 +0200
drmgr: fix remove by index operation
The commit e9f06531356f ("drmgr: introduce NUMA based LMB removal")
introduce a special processing when NUMA is on and the remove by count
operation is done.
Unfortunately, that code is also triggered when doing a remove by index
operation (-s argument) becauses usr_drc_count is set to 1. As a
consequence the index constraint is not respected and any LMB can be
removed.
Add a check agains usr_drc_index which is set when a remove by index
operation is done to ensure the numa removal code is not triggered in that
case.
Fixes: e9f06531356f ("drmgr: introduce NUMA based LMB removal")
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 67e974dbb8e4462c69c9c0e3a3b0c3a7219a2d45
Author: John Paul Adrian Glaubitz <[email protected]>
Date: Tue Feb 9 01:10:01 2021 +0100
ofpathname: Move definition of SYS_PATH from l2of_vs() to l2of_scsi()
SYS_PATH, which is required to calculate the plug ID of a SCSI/SATA
host in l2of_scsi(), is actually never set in this function but in
l2of_vd() where it is not used at all. Thus, move the definition of
SYS_PATH from l2of_vd() to l2of_scsi() to fix the calculation of the
plug ID in l2of_scsi().
Fixes: 3fb2c44e22 ("ofpathname: Add support for the plug ID of a SCSI/SATA host")
Signed-off-by: John Paul Adrian Glaubitz <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 97269d301797e23b75d0c7a5cb63ce280783f615
Author: Laurent Dufour <[email protected]>
Date: Thu Mar 4 14:51:38 2021 +0100
lpartstat: add -x option for the security flavor
This allows user to get the security flavor settings fer the LPAR.
The output is :
$ lparstat -x
Speculative Execution Mode : 1
Where the output number means
0 = Speculative execution fully enabled
1 = Speculative execution controls to mitigate user-to-kernel side-channel
attacks
2 = Speculative execution controls to mitigate user-to-kernel and
user-to-user side-channel attacks
In the case the running kernel is not exposing the security flavor in
/proc/powerpc/lparcfg, the output is:
$ lparstat -x
Speculative Execution Mode : -
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 70c15669607885aa358a566006224d0acd345f90
Author: Laurent Dufour <[email protected]>
Date: Thu Mar 4 14:51:37 2021 +0100
man lparstat: fix nroff warnings and errors
Fix errors and warning reported by mandoc for the lparstat.8 file
$ mandoc -W base man/lparstat.8 1>/dev/null
mandoc: man/lparstat.8:7:4: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:20:72: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:26:168: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:32:37: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:35:24: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:38:50: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:46:117: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:73:50: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:76:94: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:81:243: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:84:117: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:90:104: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:94:106: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:101:47: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:104:34: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:107:171: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:119:173: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:122:69: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:125:46: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:131:51: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:134:51: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:137:71: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:140:35: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:143:55: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:152:156: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:155:132: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:158:132: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:161:122: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:164:83: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:167:79: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:170:91: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:173:98: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:176:351: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:179:317: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:182:100: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:188:40: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:193:57: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:199:60: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:202:52: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:205:76: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:208:49: STYLE: whitespace at end of input line
mandoc: man/lparstat.8:209:2: WARNING: line scope broken: SH breaks TP
mandoc: man/lparstat.8:210:2: WARNING: line scope broken: TP breaks SH
mandoc: man/lparstat.8:220:2: WARNING: line scope broken: SH breaks TP
mandoc: man/lparstat.8:221:2: WARNING: line scope broken: TP breaks SH
mandoc: man/lparstat.8:239:2: WARNING: line scope broken: RS breaks TP
mandoc: man/lparstat.8:241:2: WARNING: line scope broken: TP breaks SH
mandoc: man/lparstat.8:246:2: WARNING: line scope broken: TP breaks SH
mandoc: man/lparstat.8:251:2: WARNING: line scope broken: TP breaks SH
mandoc: man/lparstat.8:257:2: WARNING: line scope broken: SH breaks TP
mandoc: man/lparstat.8:263:2: WARNING: line scope broken: EOF breaks TP
mandoc: man/lparstat.8:8:16: WARNING: cannot parse date, using it verbatim: May 2011
mandoc: man/lparstat.8:217:2: WARNING: empty block: RS
mandoc: man/lparstat.8:228:2: WARNING: empty block: RS
mandoc: man/lparstat.8:234:2: WARNING: empty block: RS
mandoc: man/lparstat.8:240:2: WARNING: empty block: RS
mandoc: man/lparstat.8:245:2: WARNING: empty block: RS
mandoc: man/lparstat.8:250:2: WARNING: empty block: RS
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit e9f06531356f88ffcf046af336ee4303dac0954d
Author: Laurent Dufour <[email protected]>
Date: Thu Jan 7 17:49:26 2021 +0100
drmgr: introduce NUMA based LMB removal
When the NUMA topology can be read, all the LMBs found in the Device Tree
are linked the corresponding node. LMB not associated to node are
considered as not used.
LMB associated to CPU less node are accounted separately because they will
be targeted first to be remove. The LMB are removed from the CPU less nodes
to reach an average number LMBs per CPU less node.
Node with CPU have a ration indexed on their number of CPUs. The higher a
node have CPU the lower number LMB will be removed. This way node with a
high number of CPU will get a higher amount of memory.
When a LMB can't be removed (because its memory can't be offlined by the
kernel), the LMB count for node is decremented and the LMB is removed from
the node's LMB list. This way, it is no more accounted as 'active' and the
removal operation will continue without taking it in account anymore.
The removal is done through the remove by DRC index API, allowing to remove
a LMB at a time. One futur optimization would be to extend that API to
remove a linear range of LMB each time.
When the requested amount of LMB could not be removed a partial status is
reported. This is a major difference since currently the kernel is adding back
again the removed LMBs in case the requested amount to remove cannot be reached.
That's odd and reporting a partial status is better when user want to remove as
much as memory as possible.
If the NUMA topology can't be read, we fallback using the legacy remove
way.
Signed-off-by: Laurent Dufour <[email protected]>
[tyreld: fixed up some pedantic coding style issues]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 80cc3ff6de0bcbaae1103bd449e0072f8ca96004
Author: Laurent Dufour <[email protected]>
Date: Mon Mar 22 18:52:56 2021 +0100
Travis: add libnuma-dev dependency for numa.h
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit e9cb06ba3165d9da6c8997b0a7cf620296604953
Author: Laurent Dufour <[email protected]>
Date: Thu Jan 7 17:49:25 2021 +0100
drmgr: read the CPU NUMA topology
This will be used in the next commit to compute LMB removal based on the
NUMA topology.
The NUMA topology is read using the libnuma, so a dependency against it is
added in the configure file.
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 4b2c9a3c850353c7a61fc29834c8916184abea72
Author: Laurent Dufour <[email protected]>
Date: Thu Jan 7 17:49:24 2021 +0100
drmgr: don't open sysfs file for each command
The new do_kernel_dlpar_common() API will be used in later commit to remove
by DRC Index LMB per LMB. This will avoiding opennig and closing the fd
each time.
The fd closing will now be done at the process exit time.
In addition add an optinal parameter to silently ignore some error.
Also, change the log level of the "success" message to debug to match
the previous one saying "Trying.."
Signed-off-by: Laurent Dufour <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 344bb3238ee6d671979d279368230ef7c8bdb87c
Author: Mingming Cao <[email protected]>
Date: Sun Mar 14 07:16:23 2021 -0700
hcnmgr: Fix ofpathname race with udev rename
When hcncfgdrc is called to configure an sr-iov or a backend vdevice, drmgr
has already returned from DR add. However sometimes the two commands happens too
fast that the OS has not completed its work to get the device ready. There is
still a small race window between udev rename and ofpathname lookup. This leads
to ofpathname grabbing a stale devname as a result of udev renaming a device to
something else. This causes hcncfgdrc failure to enslave the sr-iov or backend
vdevice silently, and later causes Live Parition Migration failure due to
missing backend slave for primary sr-iov device
Fix by catching the failure of enslave vdevice at the time of calling
do_config_vdevice to enslave the device, and in the case of failure wait for
udev settle to complete udev events before repeating enslave attempt.
Signed-off-by: Mingming Cao <[email protected]>
[tyreld: reworded change log]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 628ed06de76d40ce8ee74b055a3004e3cfc2aa0b
Author: Tyrel Datwyler <[email protected]>
Date: Mon Oct 5 13:03:45 2020 -0700
ofpathname: Use NVMe controller physical nsid
Linux creates logical block devices of the the form nvmeXnYpZ such that X = the
controller, Y = namepsace, and Z = partition. For example:
/dev/nvme0n1p1
The Linux namespace numbering scheme for namespaces always starts at 1 and
increases monotonically regardless of the actual numbering scheme of the
namespaces as seen by the physical NVMe controller. Accordingly, the Open
firmware path binding utilizes the namespace id as seen by the controller and
not the necessarily the one given in the logical block device name.
As such we need to use the "nsid" attribute in the sysfs entry for the logical
device to properly map back and forth from OP pathnames.
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 1cb8bd89d6386c60e75c47d4a4452d3f130d5138
Author: Mingming Cao <[email protected]>
Date: Fri Mar 12 14:18:18 2021 -0800
hcnmgr: Avoid using xargs to process NM show connections
When removing HNV bonding connections xargs can fail to process the output of
nmcli show propererly.
Instead of piping into xargs fix this by using a loop to check for all related
bonding connections and remove them explicitly one by one.
Signed-off-by: Mingming Cao <[email protected]>
[tyreld: fixed up commit log]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit e25d71be411b610e5e889f8efaaf04b38c2d9ecb
Author: Mingming Cao <[email protected]>
Date: Fri Mar 12 13:50:33 2021 -0800
hcnmgr: Avoid using ifcfg file for checking bonding interface status
When configuring migratable sr_iov into hybrid network, it checks if
there is an existing HNV using the presense of ifcfg file location. This
is not preferred as the location can be different on distros.
This patch fixes this by using NetworkManager nmcli.
Signed-off-by: Mingming Cao <[email protected]>
[tyreld: fixed spelling]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit d9bcb21179ccfea122f326aca4690afe0f7de0c6
Author: Mingming Cao <[email protected]>
Date: Mon Mar 1 21:34:34 2021 -0800
hcnmgr: Wait for sysfs device ready when looking up device name
At the time of calling ofpathname to look up for devicename, wait
for sysfs device ready. Otherwise, the OS may be in the middle of device
renaming.
Signed-off-by: Mingming Cao <[email protected]>
[tyreld: fixed up commit log]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 0b59d4a372aa266caa75f3b6a253b8f5aeaf3802
Author: Mingming Cao <[email protected]>
Date: Mon Mar 1 19:34:29 2021 -0800
hcnmgr: Avoid cleanup of bond interface at boot time when no HNV exists
At boot time, hcn scans the device tree and discovers if there was a new
HNV being added while lpar was inactive. It also cleans up the old hnv
interfaces. This patch avoids cleaning up bonding interface when no HNV
network devices exists.
Signed-off-by: Mingming Cao <[email protected]>
[tyreld: fixup commit log]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 366e17553ed647613668678c2d301d369038f41b
Author: Brahadambal Srinivasan <[email protected]>
Date: Thu Nov 12 19:00:47 2020 +0530
Update ppc64-cpu usage
'ppc64_cpu --help' doesn't list '--version' as an option. This patch
adds the option in the usage information of ppc64-cpu command.
Signed-off-by: Brahadambal Srinivasan <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 2d5ee16db487c0e4886c8ba9edc237242e5357fc
Author: Vasant Hegde <[email protected]>
Date: Mon Oct 5 11:54:20 2020 +0530
sys_ident: Skip length field from search
Signed-off-by: Vasant Hegde <[email protected]>
[tyreld: fixed up missing space after + operator]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit e51995667279164a6c8ce4c3ba0217fffda22d6d
Author: Mingming Cao <[email protected]>
Date: Thu Nov 19 21:41:31 2020 -0800
Clean up dead network config interface after inactive migration
With inactive parition migration, we found there are
dead network interface asscoiated with the SR_IOV from
source LPAR that still exist.
We need to cleanup the old network interface
related to this devname from source LPAR. Normally
in the active parition migration case, this was done
when HMC issue commands to OS remove the
VF from hybrid network. Because of the inactive
migration, the OS was not notified before migration
that the VF was removed, thus leaves the dead network
interface belongs on the original MVF on source lpar
not cleaned up. This cause the confusion of the network
manager to bring up the bondings with new MVFs at destination
LPAR.
After inactive parition migration the same devname
could possiblily used at the destination LPAR.
It can be assigned to a different hybrid
network (different hcnid). At the OS boot time,
the same devname but with different hcnid will
be configured. However the old network work interface
associated with the same devname from the source LPAR
has not been cleaned up yet.
This patch fix this by during the boot time scan and
if found an VFs has more than two bonding interfaces,
or has old VF ifcfg, removed the expired one.
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 4b2d10942e2d964ecc1fe58c9460c34993ff10be
Author: Mingming Cao <[email protected]>
Date: Thu Nov 19 21:38:24 2020 -0800
Disable vnic as backup vdevice for migratable SR_IOV
In version 1.0 we only allow configure ibmveth as
migritable SR_IOV backup vdevice. When ibmvnic become
more stablized we will enable vnic as backup.
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit f1ec5f04fdac3e87c3c85c2d85f79339d916e864
Author: Mingming Cao <[email protected]>
Date: Thu Nov 19 21:30:40 2020 -0800
HNV fixes for qrydev and remove lsdevinfo
This patch fixes a few issues found during testing:
1) Fix qrydev checking for active interface error
2) Skip collecting lsdevinfo right before migration
When the LPARs has large number of devices, this can
take quite a long time and flood the log message.
3) Wait for OS ready to lookup device name for configure
HNV device. We need give OS longer time to prepare pci
device after DLPAR to show up for ofpathname(). We have
run into several issues HNV issues the hcncfgdrc command
to configure the vdevices before ofpathname able
to find the device name yet.
4) Currently the hybrid network virtualization is only
supported on PowerVM LPAR. We should allow exit the hcnmgr
gracefully on other power platform instead of return error.
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
powerpc-utils-1.3.8
=====================================================================
commit ed7f7c84ba320fac543f88b766587328b5ede63b
Author: Mingming Cao <[email protected]>
Date: Tue Aug 11 16:19:49 2020 -0700
Do not use automatic method (DHCP, PPP, etc) when bond interface is setup
When creating bond, by default the ipv4.method is auto, set to dhcp
In the case of mutiple HNV interfaces, this can case bond interfaces deactive and
active again and again.
So here Set default ipv4 method to disable. Bond is created without IP .
User can configure static IP manually with
nmcli con mod id <bond-name> ipv4.method manual ipv4.address 192.168.2.203/24
As long as each interface is on a different network, then they should be able to
all use dhcp, but the dhcp server would need to support all these different
networks and hand out ips on the different subnets
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 9a4a4a2ec9bb8e9d4e69bd2c482d904bc3b27d7f
Author: Mingming Cao <[email protected]>
Date: Mon Jul 27 21:37:38 2020 -0700
Allow hcnqrydev return success when sr-iov VFs are not active
When the sr-iov VF nextwork interfact in the bond is not up, that means
it is failover to the backup virtual network device already. We should
allow hcnqrydev return success in this case, in other words, means it is
safe to dlpar remove sr-iov VFs.
Also add more system and network status info in show_hcnstatus() and move it to
the end of main function.
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 6bd1f8acdbef807738e2270e3974ceb3b892666d
Author: David Michael <[email protected]>
Date: Fri Aug 7 14:14:57 2020 -0400
ofpathname: Remove the dependency on bc
The only use of bc is to convert between decimal and hexadecimal
integers, but this functionality is supported by POSIX shell
arithmetic expansion and a POSIX-compatible printf program. Since
this script uses #!/bin/bash, the printf utility is a bash builtin,
so it won't even add a dependency on an external printf program
(which is provided by the required coreutils package anyway).
Signed-off-by: David Michael <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit bd8dd36b33cda0d0a72111a9a53fc5fb9a73cdb4
Author: Tyrel Datwyler <[email protected]>
Date: Thu Jul 16 15:36:25 2020 -0700
man: add manpage for the drmgr utility
Historically we have discouraged users from invoking drmgr from the commandline
outside of PCI hotplug, and as such provided no documentation. However, for the
sake of those brave powerusers willing to risk putting their system in a state
inconsistent from that of theassociated managment interface lets add a manpage
with the basic documentation of the various usage options for each of the
dynamic reconfiguration connector types.
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 1b27e043f00f8f636bdbc6853d7058ee0a63abf3
Author: Kamalesh Babulal <[email protected]>
Date: Wed Jun 17 21:28:38 2020 +0530
lparstat: Update man page with -E option
lparstat -E option reports the actual and normalized system utilization
based on the PURR/SPURR registers. Update the lparstat man page too with
the -E option details.
Reported-by: Pavithra Prakash <[email protected]>
Signed-off-by: Kamalesh Babulal <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 0a9b1f2309291c82e68eeb866174aeb676329ed4
Author: Tyrel Datwyler <[email protected]>
Date: Mon Jun 15 19:51:30 2020 -0500
drmgr: use in-kernel dlpar facility for CPU's when available
The helper kernel_dlpar_exists() now queries whether the kernel supports
dlpar based on connector/drc_type. As such allow dlpar of cpu's via the
kernel interface when available by default.
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 267474a488d1a957e7704feb2910cdea2310c8b7
Author: Tyrel Datwyler <[email protected]>
Date: Mon Jun 15 19:51:29 2020 -0500
drmgr: query in-kernel dlpar support by DRC connector type
Support to initiate kernel facilitated dlpar for CPU and MEM was
introduced into drmgr back in 2016 with commit bbc5fc0 however, this
proved problematic for CPU as most distros didn't have in kernel CPU
dlpar support yet. As a result CPU support was disabled with commit
a97c566.
The main issue is that drmgr blindly tests for the existence of
/sys/kernel/dlpar to identify in kernel dlpar support. This test doesn't
reveal if support goes beyond MEM and includes CPU. This further
complicates adding new connector types such as PHB, PCI, and SLOT down
the road, and backwards compatability of newer drmgr on older kernels.
The /sys/kernel/dlpar attribute was extended by the following kernel
commit torvalds/linux@673bc43 that introduced a comma separated list of
device support.
Update drmgr utility to use this mechanism to determine which
device/connector/drc_types are supported by in kernel dlpar.
1.) For the case where /sys/kernel/dlpar does not exist use legacy dlpar
facilities.
2.) For the case where /sys/kernel/dlpar exists but does not
reading we assume only memory support for in kernel and use legacy
all other types.
3.) For the case where /sys/kernel/dlpar exists and is readable we parse
the returned list for supported devices and fall back to legacy
facilities for anything not in the list.
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 871646f79bdd6c119c87561952dcf5b528419f67
Author: Mingming Cao <[email protected]>
Date: Sun Jun 28 09:41:51 2020 -0600
Add hcnmgr init systemd service hcn-init.service
After LPAR back online, add service automatically
configure hybrid network created at inactive time.
Update the build process to include the service in build.
configure --with-systemd
OR
rpmbuild -ba powerpc-utils.spec --with systemd
Enable this service after reboot.
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit ae08f34eb8197dee7489fc73dc2e29aa5bbe84bc
Author: Mingming Cao <[email protected]>
Date: Sat Jun 27 08:38:13 2020 -0600
Support inactive migration with migratable SR_IOV
HMC supports adding migratable sr-iov when LPAR is inactive.
This allows inactive LPAR migrates with SR_IOV VFs. HMC will
generate unique HCNID and PHYP the migratable sr-iov device
and it's backup virtual device vnic or veth with same ibm
property ibm,hcn-id. This is done while the partion is inactive.
When LPAR backs online, the OS is responsible to find out the
new migritable SR_IOV configured during LPAR was inactive. This
makes the new SR_IOV added eligible for migration, or able to
re-configure SR_IOV with HCN post migration.
Added function in hcnmgr to scan the device-tree, find
migratable SR_IOV that has no hybrid network being configured,
setting up the active-back bonding with backup matching vnic or
veth. Add new SR_IOV and its backing devices as slave. Skip the HCN
has already been configured online before.
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit ed574ffb81e23169d3327e1f8f22fdfb9ad74390
Author: Mingming Cao <[email protected]>
Date: Fri Jun 26 17:02:00 2020 -0600
Tools to support migrtable SR_IOV hybrid virtual network
A LPAR that utilizes an SR-IOV logical port (physical device) cannot be
migrated. To allow SR_IOV eligiable for live partition migration, HMC can
configures a virtual device (virtual ethernet or virtual NIC) as a backup
for each SR-IOV logical port and performs failover network operations to
the virtual device before migration. After migration, then performs
failover network operations again to the SR-IOV logical ports.
When HMC configure an migratiable SR_IOV device, the hypervisor will set
unique hybrid network ID (HCN ID) propterty for the SR_IOV and backup
virtual device. And instruct Guest OS to configre hybrid network.
Guest OS will able to recoganize them and configure hybrid
network. This patch introduces new commands from HMC to linux to configure an
active-backup bonding with the SR-IOV logical port as the primary device and
a virtual device such as a virtual Ethernet device or vNIC device as the
backup device.
hcncfrdrc -- configure migratable SR_IOV hybrid virtual network (HCN) before
or right after migration
hcnqrydev -- pre-migration, query SR_IOV device has active backup virtual device
hcnrmdev -- remove migritable SR_IOV device from HCN right before migration
hcnrmhcn -- clean up hybrid virtual network when remove migratable SR_IOV
hcnversion -- returns current HCN support version back to HMC
Signed-off-by: Mingming Cao <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit b289196aa9d9cd02c5d1b7e46cfa6403ea4fbbad
Author: Joel Stanley <[email protected]>
Date: Mon Jul 13 13:20:25 2020 -0700
Update smt snooze delay documentation
Mostly remove it now that it is not used. A mention is left in the
readme so archaeologists can work out where it went.
Signed-off-by: Joel Stanley <[email protected]>
[tyreld: fixed type of setting in README]
Signed-off-by: Tyrel Datwyler <[email protected]>
commit c788e4802205265e653a884e2f0d2dce17e03d2c
Author: Joel Stanley <[email protected]>
Date: Mon Jul 13 13:20:24 2020 -0700
ppc64_cpu: Remove smt_snooze_delay
The kernel has not supported setting the snooze delay through this API
since at least 2014 (v3.14). The sysfs file is present for
compatibility, but it has no effect.
The lack of this sysfs file means we must use a different method for
ppc64_cpu to detect the smt state of the box. It now uses the
threads_per_cpu count from the device tree.
Signed-off-by: Joel Stanley <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 3a4617187b300b8c369ca0e30deeb22143dfc2c8
Author: Joel Stanley <[email protected]>
Date: Mon Jul 13 13:20:23 2020 -0700
Modify is_smt_capable to not use smt_snooze_delay
The sysfs file is present for compatibility, but it has no effect. Use
the presence of more than one thread per cpu, which comes from the device
tree, to determine SMT capability.
Signed-off-by: Joel Stanley <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit 7289eb429e293e33418cc68c922e9c2f61ffd82f
Author: Joel Stanley <[email protected]>
Date: Thu Jul 9 17:20:34 2020 -0700
travis: Add basic CI configuration
This builds the applications on ppc64le with librtas.
Signed-off-by: Joel Stanley <[email protected]>
Signed-off-by: Tyrel Datwyler <[email protected]>
commit ab1462b9c5644e8dbf75b42e69ffa13b1b7c2370
Author: Joel Stanley <[email protected]>
Date: Thu Jul 9 17:20:33 2020 -0700
gitignore: don't ignore .*
This includes files such as .travis.yml file that will be part of the
repository.
Signed-off-by: Joel Stanley <[email protected]>