forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit27ef6b6
committed
Fix spinlock implementation for some !solaris sparc platforms.
Some Sparc CPUs can be run in various coherence models, ranging fromRMO (relaxed) over PSO (partial) to TSO (total). Solaris has alwaysrun CPUs in TSO mode while in userland, but linux didn't use to andthe various *BSDs still don't. Unfortunately the sparc TAS/S_UNLOCKwere only correct under TSO. Fix that by adding the necessary memorybarrier instructions. On sparcv8+, which should be all relevant CPUs,these are treated as NOPs if the current consistency model doesn'trequire the barriers.Discussion: 20140630222854.GW26930@awork2.anarazel.deWill be backpatched to all released branches once a few buildfarmcycles haven't shown up problems. As I've no access to sparc, this isblindly written.1 parentb0fd5c5 commit27ef6b6
File tree
2 files changed
+50
-1
lines changed- src
- backend/port/tas
- include/storage
2 files changed
+50
-1
lines changedLines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
37 | 37 |
| |
38 | 38 |
| |
39 | 39 |
| |
| 40 | + | |
| 41 | + | |
40 | 42 |
| |
41 | 43 |
| |
42 | 44 |
| |
|
Lines changed: 48 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
384 | 384 |
| |
385 | 385 |
| |
386 | 386 |
| |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
387 | 393 |
| |
388 | 394 |
| |
389 | 395 |
| |
| |||
405 | 411 |
| |
406 | 412 |
| |
407 | 413 |
| |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
408 | 429 |
| |
409 | 430 |
| |
410 | 431 |
| |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
411 | 458 |
| |
412 | 459 |
| |
413 | 460 |
| |
| |||
908 | 955 |
| |
909 | 956 |
| |
910 | 957 |
| |
911 |
| - | |
| 958 | + | |
912 | 959 |
| |
913 | 960 |
| |
914 | 961 |
| |
|
0 commit comments
Comments
(0)