Commit f656864
powerpc/qspinlock: stop queued waiters trying to set lock sleepy
If a queued waiter notices the lock owner or the previous waiter has
been preempted, it attempts to mark the lock sleepy, but it does this
as a try-set operation using the original lock value it got when
queueing, which will become stale as the queue progresses, and the
try-set will fail. Drop this and just set the sleepy seen clock.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Tested-by: Shrikanth Hegde <sshegde@linux.vnet.ibm.com>
Reviewed-by: "Nysal Jan K.A" <nysal@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231016124305.139923-3-npiggin@gmail.com1 parent ea142e5 commit f656864
1 file changed
Lines changed: 10 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
250 | | - | |
| 250 | + | |
251 | 251 | | |
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
| 255 | + | |
259 | 256 | | |
260 | 257 | | |
261 | 258 | | |
262 | | - | |
| 259 | + | |
263 | 260 | | |
264 | | - | |
265 | | - | |
| 261 | + | |
266 | 262 | | |
267 | 263 | | |
268 | 264 | | |
| |||
381 | 377 | | |
382 | 378 | | |
383 | 379 | | |
384 | | - | |
| 380 | + | |
385 | 381 | | |
386 | | - | |
387 | 382 | | |
388 | 383 | | |
389 | 384 | | |
| |||
412 | 407 | | |
413 | 408 | | |
414 | 409 | | |
415 | | - | |
| 410 | + | |
416 | 411 | | |
417 | 412 | | |
418 | 413 | | |
| |||
436 | 431 | | |
437 | 432 | | |
438 | 433 | | |
439 | | - | |
| 434 | + | |
440 | 435 | | |
441 | 436 | | |
442 | 437 | | |
| |||
587 | 582 | | |
588 | 583 | | |
589 | 584 | | |
590 | | - | |
| 585 | + | |
| 586 | + | |
591 | 587 | | |
592 | 588 | | |
593 | 589 | | |
| |||
597 | 593 | | |
598 | 594 | | |
599 | 595 | | |
600 | | - | |
| 596 | + | |
601 | 597 | | |
602 | 598 | | |
603 | 599 | | |
| |||
0 commit comments