Messages in this thread | | | Date | Fri, 8 Jan 2010 14:43:02 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [RFC][PATCH 6/8] mm: handle_speculative_fault() |
| |
On Fri, 8 Jan 2010, Christoph Lameter wrote: > > And I made the point that starvation was a hardware issue due to immature > cacheline handling. Now the software patchup job for the hardware breakage > is causing regressions for everyone.
Well, in all fairness, (a) existing hardware doesn't do a good job, and would have a really hard time doing so in general (ie the whole issue of on-die vs directly-between-sockets vs between-complex-fabric), and (b) in this case, the problem really was that the x86-64 rwsems were badly implemented.
The fact that somebody _thought_ that it might be ok to do them with spinlocks and had done some limited testing without ever hitting the problem spot (probably never having tested any amount of contention at all) is immaterial. We should have had real native rwsemaphores for x86-64, and complaining about the fallback sucking under load is kind of pointless.
Linus
| |