You can do a millions to tens of millions kernel entries/exits per second per core. They're on the same order of magnitude as a single digit number of full cache misses.
So, expensive, but a lot less expensive than many people assume.
Edit: for some (outdated, 2018) measurements, https://eli.thegreenplace.net/2018/measuring-context-switchi...