|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] common: don't (kind of) open-code rcu_lock_domain_by_any_id()
commit a625c335593ed8475367f91fa9746c82d927794f
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Jan 7 15:06:15 2021 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Jan 7 15:06:15 2021 +0100
common: don't (kind of) open-code rcu_lock_domain_by_any_id()
Even more so when using rcu_lock_domain_by_id() in place of the more
efficient rcu_lock_current_domain().
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/common/event_channel.c | 5 +----
xen/common/page_alloc.c | 8 +-------
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 4a48094356..3aa4189d7a 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -349,10 +349,7 @@ static long
evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind)
domid_t rdom = bind->remote_dom;
long rc;
- if ( rdom == DOMID_SELF )
- rdom = current->domain->domain_id;
-
- if ( (rd = rcu_lock_domain_by_id(rdom)) == NULL )
+ if ( (rd = rcu_lock_domain_by_any_id(rdom)) == NULL )
return -ESRCH;
/* Avoid deadlock by first acquiring lock of domain with smaller id. */
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 4e86d79935..fcb308d92f 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2568,12 +2568,6 @@ struct domain *get_pg_owner(domid_t domid)
{
struct domain *pg_owner = NULL, *curr = current->domain;
- if ( likely(domid == DOMID_SELF) )
- {
- pg_owner = rcu_lock_current_domain();
- goto out;
- }
-
if ( unlikely(domid == curr->domain_id) )
{
gdprintk(XENLOG_WARNING, "Cannot specify itself as foreign domain\n");
@@ -2591,7 +2585,7 @@ struct domain *get_pg_owner(domid_t domid)
break;
default:
- if ( (pg_owner = rcu_lock_domain_by_id(domid)) == NULL )
+ if ( (pg_owner = rcu_lock_domain_by_any_id(domid)) == NULL )
gdprintk(XENLOG_WARNING, "Unknown domain d%d\n", domid);
break;
}
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |