On 18 Nov 2021, at 08:36, Gernot Heiser
<gernot@unsw.edu.au<mailto:gernot@unsw.edu.au>> wrote:
On 18 Nov 2021, at 08:24, Gerwin Klein
<kleing@unsw.edu.au<mailto:kleing@unsw.edu.au>> wrote:
The page reports the 0-length numbers. The idea is that IPC should fit into registers, the
10 case is the one that make it spill into memory deliberately. That number is good to
know for development, but should not be the main performance characteristic.
Note that whether data is transferred solely in registers or using a memory buffer does
not make a big difference on contemporary hardware. However, our present implementation
reverts to the slow path as soon as the message size overflows the physical message
registers, which will make the PIC much slower.
Yes I should have mentioned that. If you look at the raw numbers for x86, eg. at
https://github.com/seL4/sel4bench/actions/runs/1469475721#artifacts, fast path/no fast
path is almost equal for length 10. You get a tiny bit better performance for length 10
when the fast path is switched off completely, because it doesn't first have to test
whether to take the fast path or not.
Cheers,
Gerwin