VR Profiling - both GPU and CPU stalls?

I’m trying to do some profiling of my game as the frame time is still not exactly where I want it.
I get around 60 fps, and I’d like to get 90. My game thread time (stat unit) is between 6-9 ms.

When profiling, I can see that both my GPU/rendering thread and my CPU/game thread spends a lot of time waiting/stalling. I would expect one of the threads to wait for the other, but now it seems like both are waiting, giving me low frame rates. What is going on? Is there some kind of frame rate lock active?

All of my frame time is spent in

GameThread/FrameTime/FEngineLoop_UpdateTimeAndHandleMaxTickRate/GameThreadTickWaitTime/Game thread idle time (12 ms)

and

RenderThread/CPU Stall - Wait for Event (13.4 ms)

How do I go about trying to optimize this?

did you optimize it?

There are three threads. Maybe the two are waiting on your draw calls?