On Mon, 15 Oct 2018 23:42:03 +0800, Carter Cheng said: > I was wondering what are some good ways to assess the performance impact of > kernel modifications. Are there some papers in the literature where this is > done? Does one need to differentiate between CPU bound and different types > of I/O bound processes etc? That is *so* totally dependent on exactly what the modification is, that there's no right answer here. The things you will want to measure for a new TCP flow control module (to measure the difference between, say, cubic and new_reno and fq_codel and your new module) will be *totally* different from changes to an LSM, which again will be different from an overhaul of a disk I/O scheduler. And then, the environment matters as well. The performance metrics that I care about on my laptop (which is used as a desktop replacement) are "can I do a kernel build and my desktop environment still work well" type things. But the numbers I care about on the machines I maintain across the hall in the data center are different - those are disk storage, backup, and archive - so I'm willing to burn a lot of CPU in both kernel and userspace if it gets me more IOPs and throughput - important when you have 500+ million files in a single petabyte-plus file system. Meanwhile, the guys a few cubicles down are doing HPC, which means they want as little kernel CPU usage as possible because that gets in the way of user computations. And sometimes, it doesn't matter in the slightest what the performance impact is, because the change is required for correctness - running incorrect code faster is still running incorrect code. See the recent Spectre patches for an example.
Attachment:
pgppHoHF94NF5.pgp
Description: PGP signature
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies