Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-07

Ingo Molnar
2005-03-23T06:38:24Z

* Ingo Molnar <mingo@elte.hu> wrote:

> the 'migrate read count' solution seems more promising, as it would
> keep other parts of the RCU code unchanged. [ But it seems to break
> the nice 'flip pointers' method you found to force a grace period. If
> a 'read section' can migrate from one CPU to another then it can
> migrate back as well, at which point it cannot have the 'old' pointer.
> Maybe it would still work better than no flip pointers. ]

the flip pointer method could be made to work if we had a NR_CPUS array
of 'current RCU pointer' values attached to the task - and that array
would be cleared if the task exits the read section. But this has memory
usage worries with large NR_CPUS. (full clearing of the array can be
avoided by using some sort of 'read section generation' counter attached
to each pointer)

Ingo