On Fri, May 17, 2019 at 5:26 AM Chapman Flack <c...@anastigmatix.net> wrote:
> On 5/16/19 12:24 PM, Albert Cervera i Areny wrote:
> > Missatge de Thomas Munro <thomas.mu...@gmail.com> del dia dj., 16 de
> > maig 2019 a les 13:09:
> >> With all three mitigations activated, my little dev machine has gone
> >> from being able to do ~11.8 million baseline syscalls per second to
> >
> > Did you mean "1.8"?
>
> Not in what I thought I saw:
>
> >> ~1.6 million, or ~1.4 million ...
> >>
> >>   PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
> >>   ===== ===== ======== ======== ========
> >>   off   off   11798658  4764159  3274043
>                  ^^^^^^^^
> >>   off   on     2652564  1941606  1655356
> >>   on    off    4973053  2932906  2339779
> >>   on    on     1988527  1556922  1378798
>                            ^^^^^^^  ^^^^^^^

Right.  Actually it's worse than that -- after I posted I realised
that I had some debug stuff enabled in my kernel that was slowing
things down a bit, so I reran the tests overnight with a production
kernel and here is what I see this morning.  It's actually ~17.8
million syscalls/sec -> ~1.7 million syscalls/sec, if you go from all
mitigations off to all mitigations on, or -> ~3.2 million for just PTI
+ MDS.  And the loss of TPS is ~5% for the case I was most interested
in, just turning on MDS=VERW if you already had PTI on and IBRS off.

Raw getuid() syscalls per second:

  PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
  ===== ===== ======== ======== ========
  off   off   17771744  5372032  3575035
  off   on     3060923  2166527  1817052
  on    off    5622591  3150883  2463934
  on    on     2213190  1687748  1475605

pgbench read-only transactions per second, 1 client thread:

  PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
  ===== ===== ======== ======== ========
  off   off      22414    22103    21571
  off   on       21298    20817    20418
  on    off      22473    22080    21550
  on    on       21286    20850    20386

pgbench -M prepared read-only transactions per second, 1 client thread:

  PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
  ===== ===== ======== ======== ========
  off   off      43508    42476    41123
  off   on       40729    39483    38555
  on    off      44110    42989    42012
  on    on       41143    39990    38798

pgbench -M prepared read-only transactions per second, 4 client threads:

  PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
  ===== ===== ======== ======== ========
  off   off     100735    97689    96662
  off   on       80142    77804    77064
  on    off     100540    97010    95827
  on    on       79492    76976    76226

pgbench -M prepared read-only transactions per second, 16 client threads:

  PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
  ===== ===== ======== ======== ========
  off   off     161015   152978   152556
  off   on      145605   139438   139179
  on    off     155359   147691   146987
  on    on      140976   134978   134177

pgbench -M prepared read-only transactions per second, 16 client threads:

  PTI   IBRS  MDS=off  MDS=VERW MDS=AVX
  ===== ===== ======== ======== ========
  off   off     157986   150132   149436
  off   on      142618   136220   135901
  on    off     153482   146214   145839
  on    on      138650   133074   132142

-- 
Thomas Munro
https://enterprisedb.com


Reply via email to