Hi Dave,
I never personally used it, but as far as I know you should be able to get more performance by using "gtpu-mode kernel-gtp" instead of "gtpu-mode tun" in your config, to avoid doing all packet processing in userspace. Please someone else confirm this. I think you need a capable kernel and libgtpnl to be able to use it.
Also, it would be nice if you could provide a linux "perf" output on osmo-ggsn while running your test setup so we can spot possible optimizations to improve osmo-ggsn performance.