IPMI SOL performance

Jeremy Kerr jk at ozlabs.org
Tue Mar 20 21:58:28 AEDT 2018


Hi Tom,

> The accepted character count field in the SOL payload is what the
> client(ipmitool) uses to acknowledge to BMC.
> Since this is a 1 byte field, so the maximum SOL character data is
> restricted to 255.

Yep, but are you sure you're sending packets of the maximum size?

> Is it guaranteed that the Petitboot menu option will be shown only after
> the obmc-console-server,
> reads it from the VUART?

Not at all. The petitboot process has no idea what's happening on the
BMC. Same with all other console-based processes on the host system.

> When does the petitboot menu timeout begin?

As soon as the first default-bootable option is found.

> One possible option is to put a limit on the buffer size and read from
> the socket only when the buffer is within that limits.

Yep, there's no real need for the IPMI SoL infrastructure to do any
output buffering at all. If your maximum packet size is 255 bytes, just
read a maximum of 255 bytes from the obmc-console socket.

However, we should still see what's slowing down the IPMI SoL data.
10-15 minutes for it to drain is *very* slow.

> The trade-off
> would be ssh based console would output at the speed of IPMI.

That would only be a concern if:

 - both IPMI and SSH clients are connected to the unix domain socket at
   the same time (does the IPMI SoL process connect to the obmc-console
   socket if no clients are connected over the network?)

   and

 - we've filled up the 16kB burst-buffer in the obmc-console-server
   process

So, I'd say we're fine there.

Regards,


Jeremy


More information about the openbmc mailing list