summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-02-17 20:38:39 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-02-17 20:38:39 +0100
commitb1ff6948ea71dece880e8300029263baba5fa67c (patch)
treeac6035a106a8249f8eac47078a6e5b3d0958e043 /debian
parent5092ccf75e6e11e9dcfcc7962c20e24fb3ef93d6 (diff)
drop merged patch
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/merge-me-0001-libports-avoid-acquiring-global-lock-in-message-disp.patch80
-rw-r--r--debian/patches/series1
2 files changed, 0 insertions, 81 deletions
diff --git a/debian/patches/merge-me-0001-libports-avoid-acquiring-global-lock-in-message-disp.patch b/debian/patches/merge-me-0001-libports-avoid-acquiring-global-lock-in-message-disp.patch
deleted file mode 100644
index 17af18da..00000000
--- a/debian/patches/merge-me-0001-libports-avoid-acquiring-global-lock-in-message-disp.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 9e94fffba8ffbc9af4a6ceb75a78d2dab2da5682 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Mon, 15 Dec 2014 11:53:26 +0100
-Subject: [PATCH hurd 1/2] libports: avoid acquiring global lock in message
- dispatch
-
-* libports/interrupt-operation.c (ports_S_interrupt_operation): Update
-`cancel_threshold' using atomic operations.
-* libports/manage-multithread.c (internal_demuxer): Avoid taking the lock.
-* libports/ports.h (struct port_info): Mention that one needs atomic
-operations to access `cancel_threshold'.
----
- libports/interrupt-operation.c | 14 ++++++++++----
- libports/manage-multithread.c | 8 +++++---
- libports/ports.h | 2 +-
- 3 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/libports/interrupt-operation.c b/libports/interrupt-operation.c
-index 943bd4f..5d4b0b7 100644
---- a/libports/interrupt-operation.c
-+++ b/libports/interrupt-operation.c
-@@ -27,12 +27,18 @@ kern_return_t
- ports_S_interrupt_operation (struct port_info *pi,
- mach_port_seqno_t seqno)
- {
-+ mach_port_seqno_t old;
-+
- if (!pi)
- return EOPNOTSUPP;
-- pthread_mutex_lock (&_ports_lock);
-- if (pi->cancel_threshold < seqno)
-- pi->cancel_threshold = seqno;
-- pthread_mutex_unlock (&_ports_lock);
-+
-+ retry:
-+ old = __atomic_load_n (&pi->cancel_threshold, __ATOMIC_SEQ_CST);
-+ if (old < seqno
-+ && ! __atomic_compare_exchange_n (&pi->cancel_threshold, &old, seqno,
-+ 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST))
-+ goto retry;
-+
- ports_interrupt_rpcs (pi);
- return 0;
- }
-diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c
-index 2067cba..7d2e126 100644
---- a/libports/manage-multithread.c
-+++ b/libports/manage-multithread.c
-@@ -173,10 +173,12 @@ ports_manage_port_operations_multithread (struct port_bucket *bucket,
- }
- else
- {
-- pthread_mutex_lock (&_ports_lock);
-- if (inp->msgh_seqno < pi->cancel_threshold)
-+ mach_port_seqno_t cancel_threshold =
-+ __atomic_load_n (&pi->cancel_threshold, __ATOMIC_SEQ_CST);
-+
-+ if (inp->msgh_seqno < cancel_threshold)
- hurd_thread_cancel (link.thread);
-- pthread_mutex_unlock (&_ports_lock);
-+
- status = demuxer (inp, outheadp);
- ports_end_rpc (pi, &link);
- }
-diff --git a/libports/ports.h b/libports/ports.h
-index a625b47..f02edb4 100644
---- a/libports/ports.h
-+++ b/libports/ports.h
-@@ -48,7 +48,7 @@ struct port_info
- struct port_class *class;
- refcounts_t refcounts;
- mach_port_mscount_t mscount;
-- mach_msg_seqno_t cancel_threshold;
-+ mach_msg_seqno_t cancel_threshold; /* needs atomic operations */
- int flags;
- mach_port_t port_right;
- struct rpc_info *current_rpcs;
---
-2.1.3
-
diff --git a/debian/patches/series b/debian/patches/series
index ccf870f4..c1d1462e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -42,7 +42,6 @@ startup-avoid-broken-puts.patch
libports-payloads.patch
proc-task-notify-0005-proc-fix-build.patch
-merge-me-0001-libports-avoid-acquiring-global-lock-in-message-disp.patch
merge-me-0002-startup-faster-reboots.patch
thomas_term.patch
0001-daemons-console-run-add-console-argument-to-select-t.patch