summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-09-07 16:37:42 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-09-07 16:37:42 +0200
commit8472477f2b35fa3d5de6b0fc61f99723d7efb40e (patch)
tree6d36d94d0cbdc45ac68051e6e5544deb5dad019f /debian
parent999ef58ff726dd233bb35431cc6e7ca81e46d47e (diff)
drop old patch series
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/try-fence0001-kern-use-proper-memory-fences-when-handling-the-mapp.patch100
2 files changed, 0 insertions, 101 deletions
diff --git a/debian/patches/series b/debian/patches/series
index e1f462d..c8a3f31 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,4 +16,3 @@ fix-locking0005-ipc-fix-locking-issues.patch
vm-cache-policy0001-VM-cache-policy-change.patch
vm-cache-policy0002-vm-keep-track-of-clean-pages.patch
vm-cache-policy0003-vm-evict-clean-pages-first.patch
-try-fence0001-kern-use-proper-memory-fences-when-handling-the-mapp.patch
diff --git a/debian/patches/try-fence0001-kern-use-proper-memory-fences-when-handling-the-mapp.patch b/debian/patches/try-fence0001-kern-use-proper-memory-fences-when-handling-the-mapp.patch
deleted file mode 100644
index 93d1e82..0000000
--- a/debian/patches/try-fence0001-kern-use-proper-memory-fences-when-handling-the-mapp.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From b740865e41259f24352b23808e31f600654dab77 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Mon, 7 Sep 2015 13:04:39 +0200
-Subject: [PATCH gnumach] kern: use proper memory fences when handling the
- mapped time
-
-* include/mach/time_value.h (struct mapped_time_value): Adjust comment.
-* kern/mach_clock.c (mtime): Likewise. Also make it volatile.
-(update_mapped_time): Use full hardware barriers.
-(read_mapped_time): New macro with proper fences.
-(record_time_stamp, host_get_time): Use the new macro.
----
- include/mach/time_value.h | 1 +
- kern/mach_clock.c | 31 ++++++++++++++++---------------
- 2 files changed, 17 insertions(+), 15 deletions(-)
-
-diff --git a/include/mach/time_value.h b/include/mach/time_value.h
-index 61be581..ffc1845 100644
---- a/include/mach/time_value.h
-+++ b/include/mach/time_value.h
-@@ -85,6 +85,7 @@ typedef struct time_value time_value_t;
- * do {
- * secs = mtime->seconds;
- * usecs = mtime->microseconds;
-+ * __sync_synchronize();
- * } while (secs != mtime->check_seconds);
- */
-
-diff --git a/kern/mach_clock.c b/kern/mach_clock.c
-index 2bcd232..6e4f4cc 100644
---- a/kern/mach_clock.c
-+++ b/kern/mach_clock.c
-@@ -86,25 +86,33 @@ int bigadj = 1000000; /* adjust 10*tickadj if adjustment
- * do {
- * secs = mtime->seconds;
- * usecs = mtime->microseconds;
-+ * __sync_synchronize();
- * } while (secs != mtime->check_seconds);
-- * to read the time correctly. (On a multiprocessor this assumes
-- * that processors see each other's writes in the correct order.
-- * We have to insert write fence operations.) FIXME
-+ * to read the time correctly.
- */
-
--mapped_time_value_t *mtime = 0;
-+volatile mapped_time_value_t *mtime = 0;
-
- #define update_mapped_time(time) \
- MACRO_BEGIN \
- if (mtime != 0) { \
- mtime->check_seconds = (time)->seconds; \
-- asm volatile("":::"memory"); \
-+ __sync_synchronize(); \
- mtime->microseconds = (time)->microseconds; \
-- asm volatile("":::"memory"); \
-+ __sync_synchronize(); \
- mtime->seconds = (time)->seconds; \
- } \
- MACRO_END
-
-+#define read_mapped_time(time) \
-+MACRO_BEGIN \
-+ do { \
-+ time->seconds = mtime->seconds; \
-+ time->microseconds = mtime->microseconds; \
-+ __sync_synchronize(); \
-+ } while (time->seconds != mtime->check_seconds); \
-+MACRO_END
-+
- decl_simple_lock_data(, timer_lock) /* lock for ... */
- timer_elt_data_t timer_head; /* ordered list of timeouts */
- /* (doubles as end-of-list) */
-@@ -395,10 +403,7 @@ clock_boottime_update(struct time_value *new_time)
- void
- record_time_stamp (time_value_t *stamp)
- {
-- do {
-- stamp->seconds = mtime->seconds;
-- stamp->microseconds = mtime->microseconds;
-- } while (stamp->seconds != mtime->check_seconds);
-+ read_mapped_time(stamp);
- time_value_add(stamp, &clock_boottime_offset);
- }
-
-@@ -425,11 +430,7 @@ host_get_time(host, current_time)
- if (host == HOST_NULL)
- return(KERN_INVALID_HOST);
-
-- do {
-- current_time->seconds = access_once(mtime->seconds);
-- current_time->microseconds = access_once(mtime->microseconds);
-- } while (current_time->seconds != access_once(mtime->check_seconds));
--
-+ read_mapped_time(current_time);
- return (KERN_SUCCESS);
- }
-
---
-2.1.4
-