Re: [PATCH] um: add RCU syscall hack for time-travel

2024-09-13 Thread Richard Weinberger
Hi! - Ursprüngliche Mail - > Von: "Benjamin Berg" > First, it doesn't seem like my patch actually works, so please do not > merge it. It actually appears that tree RCU and tiny RCU (which are > selected depending on the preemption setting) are behaving differently. > > So now I am wonder

Re: [PATCH] um: add RCU syscall hack for time-travel

2024-09-13 Thread Benjamin Berg
Hi First, it doesn't seem like my patch actually works, so please do not merge it. It actually appears that tree RCU and tiny RCU (which are selected depending on the preemption setting) are behaving differently. So now I am wondering if I can come up with a hack that works for both. On Fri, 202

Re: [PATCH] um: add RCU syscall hack for time-travel

2024-09-13 Thread Richard Weinberger
- Ursprüngliche Mail - > Von: "Benjamin Berg" >> While I acknowledge that time-travel itself is a beautiful hack, I'd >> like to keep the hacks >> to keep it working minimal. >> So, the problem here is that RCU callbacks never run and just pile up? > > Yes. A simple example of this is doi

Re: [PATCH] um: add RCU syscall hack for time-travel

2024-09-13 Thread Benjamin Berg
Hi, On Thu, 2024-09-12 at 21:02 +0200, Richard Weinberger wrote: > On Fri, Aug 30, 2024 at 5:38 PM Benjamin Berg > wrote: > > > > From: Benjamin Berg > > > > In time-travel mode userspace can do a lot of work without any time > > passing. Unfortunately, this can result in OOM situations as the

Re: [PATCH] um: add RCU syscall hack for time-travel

2024-09-12 Thread Richard Weinberger
On Fri, Aug 30, 2024 at 5:38 PM Benjamin Berg wrote: > > From: Benjamin Berg > > In time-travel mode userspace can do a lot of work without any time > passing. Unfortunately, this can result in OOM situations as the RCU > core code will never be run. > > Work around that by kicking the RCU using

[PATCH] um: add RCU syscall hack for time-travel

2024-08-30 Thread Benjamin Berg
From: Benjamin Berg In time-travel mode userspace can do a lot of work without any time passing. Unfortunately, this can result in OOM situations as the RCU core code will never be run. Work around that by kicking the RCU using rcu_sched_clock_irq. So behave to the RCU code as if a clock tick ha