Messages in this thread | | | Subject | Re: Runtime overhead of PREEMPT_DYNAMIC | From | Mike Galbraith <> | Date | Fri, 20 Oct 2023 14:42:22 +0200 |
| |
On Fri, 2023-10-20 at 11:14 +0200, Emanuele Rocca wrote: > > Results of the tbench benchmark: > > - PREEMPT_DYNAMIC=n Throughput 3831.82 MB/sec > - PREEMPT_DYNAMIC=y Throughput 3006.54 MB/sec > - 20% performance degradation with PREEMPT_DYNAMIC > > All the tests above were performed using Linux 6.5.6 on a AMD Ryzen 7 3700X > 8-Core CPU. > > Could someone please confirm whether the approach above seems sane and perhaps > try and reproduce the results?
FWIW I can't reproduce anything like those crazy tbench numbers. It's neither free nor crazy expensive here. It's kinda hard to imagine the author's mailbox surviving submission day were it _that_ horrid, surely something is amiss.
i7-4790 (quad+smt) avg cmdline 6.5.8-voluntary 3685.08 3679.93 3704.98 3689.99 1.000 6.5.8-dynamic 3571.62 3568.61 3550.55 3563.59 .965 3651.37 3599.87 3615.18 3622.14 .981 preempt=none 3459.58 3514.09 3539.88 3504.51 .949 preempt=full
voluntary (my usual) CONFIG_PREEMPT_VOLUNTARY_BUILD=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set # CONFIG_PREEMPT_DYNAMIC is not set
dynamic (same config, just flip dynamic switch) CONFIG_PREEMPT_BUILD=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y CONFIG_PREEMPT_DYNAMIC=y
| |