2015-07-10 15:21:29 +00:00
|
|
|
# Commit e156654d4eb2fdeb524e6b40838767a5dc918966
|
|
|
|
# Date 2015-06-18 14:54:25 +0200
|
|
|
|
# Author David Vrabel <david.vrabel@citrix.com>
|
|
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
|
|
evtchn: remove the locking when unmasking an event channel
|
|
|
|
|
|
|
|
The event channel lock is no longer required to check if the port is
|
|
|
|
valid.
|
|
|
|
|
|
|
|
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
|
|
|
|
|
2015-08-26 22:28:15 +00:00
|
|
|
--- a/xen/common/event_channel.c
|
|
|
|
+++ b/xen/common/event_channel.c
|
|
|
|
@@ -931,8 +931,6 @@ int evtchn_unmask(unsigned int port)
|
2015-07-10 15:21:29 +00:00
|
|
|
struct domain *d = current->domain;
|
|
|
|
struct evtchn *evtchn;
|
|
|
|
|
|
|
|
- ASSERT(spin_is_locked(&d->event_lock));
|
|
|
|
-
|
|
|
|
if ( unlikely(!port_is_valid(d, port)) )
|
|
|
|
return -EINVAL;
|
|
|
|
|
2015-08-26 22:28:15 +00:00
|
|
|
@@ -1099,9 +1097,7 @@ long do_event_channel_op(int cmd, XEN_GU
|
2015-07-10 15:21:29 +00:00
|
|
|
struct evtchn_unmask unmask;
|
|
|
|
if ( copy_from_guest(&unmask, arg, 1) != 0 )
|
|
|
|
return -EFAULT;
|
|
|
|
- spin_lock(¤t->domain->event_lock);
|
|
|
|
rc = evtchn_unmask(unmask.port);
|
|
|
|
- spin_unlock(¤t->domain->event_lock);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|