FreeBSD Bugzilla – Attachment 251098 Details for
Bug 271826
FreeBSD is disastrously slow on a PowerMac G5, freezing at every command
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
timebase sync hack
tbsync.diff (text/plain), 1.01 KB, created by
ben
on 2024-05-30 19:07:44 UTC
(
hide
)
Description:
timebase sync hack
Filename:
MIME Type:
Creator:
ben
Created:
2024-05-30 19:07:44 UTC
Size:
1.01 KB
patch
obsolete
>diff --git a/sys/powerpc/powermac/platform_powermac.c b/sys/powerpc/powermac/platform_powermac.c >index c63ef521ca8f..1184b49d6780 100644 >--- a/sys/powerpc/powermac/platform_powermac.c >+++ b/sys/powerpc/powermac/platform_powermac.c >@@ -424,9 +424,12 @@ powermac_smp_timebase_sync(platform_t plat, u_long tb, int ap) > if (ap) { > /* APs. Hold off until we get a stable timebase. */ > critical_enter(); >+mb(); > while (!tb_ready) > atomic_thread_fence_seq_cst(); >+mb(); > mttb(tb); >+mb(); > atomic_add_int(&cpu_done, 1); > while (cpu_done < mp_ncpus) > atomic_thread_fence_seq_cst(); >@@ -438,10 +441,14 @@ powermac_smp_timebase_sync(platform_t plat, u_long tb, int ap) > atomic_set_int(&cpu_done, 0); > freeze_timebase(powermac_tb_dev, true); > tb_ready = true; >+mb(); > mttb(tb); >+mb(); > atomic_add_int(&cpu_done, 1); >+mb(); > while (cpu_done < mp_ncpus) > atomic_thread_fence_seq_cst(); >+mb(); > freeze_timebase(powermac_tb_dev, false); > /* Reset tb_ready so we can resync at runtime */ > tb_ready = false;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 271826
:
242607
|
242608
|
242609
|
242610
|
242611
|
251098
|
251202
|
251226