diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-02-15 10:11:00 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-02-15 10:11:00 +0100 |
commit | 2fa00abdeb16e50dd3e98674784c9bd37a173926 (patch) | |
tree | e06dfda738b977cf5af1253bfa1ce44bbc262276 /i386/intel | |
parent | 66a3231294db21599b44a8f6e157f4d0ea72c86a (diff) | |
download | gnumach-2fa00abdeb16e50dd3e98674784c9bd37a173926.tar.gz gnumach-2fa00abdeb16e50dd3e98674784c9bd37a173926.tar.bz2 gnumach-2fa00abdeb16e50dd3e98674784c9bd37a173926.zip |
pmap: Fix busy loop waiting for pmap users
We need to avoid the kernel optimizing away the read from
pmap->cpus_using. Use a standard relaxing instruction for that.
Diffstat (limited to 'i386/intel')
-rw-r--r-- | i386/intel/pmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index 129e600b..0387fa8d 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -300,7 +300,7 @@ lock_data_t pmap_system_lock; /* using the pmap */ \ signal_cpus(users, (pmap), (s), (e)); \ while ((pmap)->cpus_using & cpus_active & ~cpu_mask) \ - continue; \ + cpu_pause(); \ } \ \ /* invalidate our own TLB if pmap is in use */ \ |