> > If it's 10M nothing. If there is a 100M regression that is also caused > > by RCU, we have to give up on it for that data structure, or mmap/munmap > > the affected data structures. > > If it was only 10MB I would agree. But if I run the VM described earlier > in this thread it goes from ~35MB with Qemu-2.2.0 to ~130-150MB with > current master. This is with coroutine pool disabled. With the coroutine pool > it can grow to sth like 300-350MB. > > Is there an easy way to determinate if RCU is the problem? I have the same > symptoms, valgrind doesn't see the allocated memory. Is it possible > to make rcu_call directly invoking the function - maybe with a lock around it > that serializes the calls? Even if its expensive it might show if we search > at the right place.
Yes, you can do that. Just make it call the function without locks, for a quick PoC it will be okay. Paolo