David, Alex, got a sPAPR question for you.
Markus Armbruster <[email protected]> writes:
> Cc'ing in sPAPR maintainers...
[...]
> Let me spell things out a bit more, to make sure we all agree on what
> exactly we want to deprecate.
>
> After this series, -drive if=scsi works for the following machine types:
>
> * magnum pica61 LX SPARCClassic SPARCbook SS-10 SS-20 SS-4 SS-5 SS-600MP
> Voyager
>
> The machine has an onboard SCSI HBA, which adopts the drives with
> bus=0.. Drives with non-zero bus numbers stay orphaned. This is
> exactly how other interface types work.
>
> Except when additional HBAs get cold-plugged somehow, non-zero bus
> numbers can work; see below.
>
> * realview-eb realview-eb-mpcore versatileab versatilepb
>
> These create N lsi53c895a SCSI HBAs, where N is the largest value of
> bus. If N is too large, machine initialization fails with a "no
> slot/function available for lsi53c895a, all in use" error.
>
> This is just like the PC machine types work before this patch.
>
> * pseries-*
>
> Likewise, except create spapr-vscsi SCSI HBAs. Large N make machine
> initialization s-l-o-w. I tried to find out whether and how it fails
> when N is too large, but I lost patience.
Totally unscientific experiment: run "qemu-system-ppc64 -S -display none
-monitor stdio -M pseries,accel=qtest -drive if=scsi,media=cdrom,bus=N"
for various N and check SZ in ps, with "ps -C qemu-system-ppc64 -O sz".
Results:
N SZ
0 339413
10 353182
20 375342
30 405857
40 444716
50 491988
60 547582
70 611589
80 683916
90 764658
100 853743
Definitely super-linear. Is this expected?
No wonder my previous bus=999 experiement thrashed my machine;
extrapolating from the above I guesstimate SZ in the order of 50 million
pages.
Of course, asking for 1000 spapr-vscsi devices is silly, but trashing is
not a nice way to say "don't be silly". Should we reject bus=N when N
exceeds a certain limit? Care to suggest a limit?
[...]