Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Peter Xu <peterx@redhat.com>
---
include/exec/memory.h | 3 +++
memory.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 0840c89..07e43da 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -239,6 +239,9 @@ struct MemoryRegion {
IOMMUNotifierFlag iommu_notify_flags;
};
+#define IOMMU_NOTIFIER_FOREACH(n, mr) \
+ QLIST_FOREACH((n), &(mr)->iommu_notify, node)
+
/**
* MemoryListener: callbacks structure for updates to the physical memory map
*
diff --git a/memory.c b/memory.c
index 75ac595..7496b3d 100644
--- a/memory.c
+++ b/memory.c
@@ -1583,7 +1583,7 @@ static void memory_region_update_iommu_notify_flags(MemoryRegion *mr)
IOMMUNotifierFlag flags = IOMMU_NOTIFIER_NONE;
IOMMUNotifier *iommu_notifier;
- QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
+ IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
flags |= iommu_notifier->notifier_flags;
}
@@ -1667,7 +1667,7 @@ void memory_region_notify_iommu(MemoryRegion *mr,
request_flags = IOMMU_NOTIFIER_UNMAP;
}
- QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
+ IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
/*
* Skip the notification if the notification does not overlap
* with registered range.
--
2.7.4
Hi Peter,
On 06/04/2017 09:08, Peter Xu wrote:
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Even if the commit message is obvious it may be requested?
Reviewed-by: Eric Auger <eric.auger@redhat.com>
> ---
> include/exec/memory.h | 3 +++
> memory.c | 4 ++--
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index 0840c89..07e43da 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -239,6 +239,9 @@ struct MemoryRegion {
> IOMMUNotifierFlag iommu_notify_flags;
> };
>
> +#define IOMMU_NOTIFIER_FOREACH(n, mr) \
> + QLIST_FOREACH((n), &(mr)->iommu_notify, node)
> +
> /**
> * MemoryListener: callbacks structure for updates to the physical memory map
> *
> diff --git a/memory.c b/memory.c
> index 75ac595..7496b3d 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -1583,7 +1583,7 @@ static void memory_region_update_iommu_notify_flags(MemoryRegion *mr)
> IOMMUNotifierFlag flags = IOMMU_NOTIFIER_NONE;
> IOMMUNotifier *iommu_notifier;
>
> - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
> + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
> flags |= iommu_notifier->notifier_flags;
> }
>
> @@ -1667,7 +1667,7 @@ void memory_region_notify_iommu(MemoryRegion *mr,
> request_flags = IOMMU_NOTIFIER_UNMAP;
> }
>
> - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
> + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
> /*
> * Skip the notification if the notification does not overlap
> * with registered range.
>
On Thu, Apr 06, 2017 at 12:45:59PM +0200, Auger Eric wrote:
> Hi Peter,
> On 06/04/2017 09:08, Peter Xu wrote:
> > Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> Even if the commit message is obvious it may be requested?
Do you mean we'd better provide a commit message?
How about this:
A new macro is provided to iterate all the IOMMU notifiers hooked
under specific IOMMU memory region.
Thanks,
>
> Reviewed-by: Eric Auger <eric.auger@redhat.com>
>
> > ---
> > include/exec/memory.h | 3 +++
> > memory.c | 4 ++--
> > 2 files changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/exec/memory.h b/include/exec/memory.h
> > index 0840c89..07e43da 100644
> > --- a/include/exec/memory.h
> > +++ b/include/exec/memory.h
> > @@ -239,6 +239,9 @@ struct MemoryRegion {
> > IOMMUNotifierFlag iommu_notify_flags;
> > };
> >
> > +#define IOMMU_NOTIFIER_FOREACH(n, mr) \
> > + QLIST_FOREACH((n), &(mr)->iommu_notify, node)
> > +
> > /**
> > * MemoryListener: callbacks structure for updates to the physical memory map
> > *
> > diff --git a/memory.c b/memory.c
> > index 75ac595..7496b3d 100644
> > --- a/memory.c
> > +++ b/memory.c
> > @@ -1583,7 +1583,7 @@ static void memory_region_update_iommu_notify_flags(MemoryRegion *mr)
> > IOMMUNotifierFlag flags = IOMMU_NOTIFIER_NONE;
> > IOMMUNotifier *iommu_notifier;
> >
> > - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
> > + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
> > flags |= iommu_notifier->notifier_flags;
> > }
> >
> > @@ -1667,7 +1667,7 @@ void memory_region_notify_iommu(MemoryRegion *mr,
> > request_flags = IOMMU_NOTIFIER_UNMAP;
> > }
> >
> > - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
> > + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
> > /*
> > * Skip the notification if the notification does not overlap
> > * with registered range.
> >
-- peterx
Hi,
On 06/04/2017 13:12, Peter Xu wrote:
> On Thu, Apr 06, 2017 at 12:45:59PM +0200, Auger Eric wrote:
>> Hi Peter,
>> On 06/04/2017 09:08, Peter Xu wrote:
>>> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
>>> Signed-off-by: Peter Xu <peterx@redhat.com>
>> Even if the commit message is obvious it may be requested?
>
> Do you mean we'd better provide a commit message?
>
> How about this:
>
> A new macro is provided to iterate all the IOMMU notifiers hooked
> under specific IOMMU memory region.
yep perfect
Eric
>
> Thanks,
>
>>
>> Reviewed-by: Eric Auger <eric.auger@redhat.com>
>>
>>> ---
>>> include/exec/memory.h | 3 +++
>>> memory.c | 4 ++--
>>> 2 files changed, 5 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/include/exec/memory.h b/include/exec/memory.h
>>> index 0840c89..07e43da 100644
>>> --- a/include/exec/memory.h
>>> +++ b/include/exec/memory.h
>>> @@ -239,6 +239,9 @@ struct MemoryRegion {
>>> IOMMUNotifierFlag iommu_notify_flags;
>>> };
>>>
>>> +#define IOMMU_NOTIFIER_FOREACH(n, mr) \
>>> + QLIST_FOREACH((n), &(mr)->iommu_notify, node)
>>> +
>>> /**
>>> * MemoryListener: callbacks structure for updates to the physical memory map
>>> *
>>> diff --git a/memory.c b/memory.c
>>> index 75ac595..7496b3d 100644
>>> --- a/memory.c
>>> +++ b/memory.c
>>> @@ -1583,7 +1583,7 @@ static void memory_region_update_iommu_notify_flags(MemoryRegion *mr)
>>> IOMMUNotifierFlag flags = IOMMU_NOTIFIER_NONE;
>>> IOMMUNotifier *iommu_notifier;
>>>
>>> - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
>>> + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
>>> flags |= iommu_notifier->notifier_flags;
>>> }
>>>
>>> @@ -1667,7 +1667,7 @@ void memory_region_notify_iommu(MemoryRegion *mr,
>>> request_flags = IOMMU_NOTIFIER_UNMAP;
>>> }
>>>
>>> - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
>>> + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
>>> /*
>>> * Skip the notification if the notification does not overlap
>>> * with registered range.
>>>
>
> -- peterx
>
On Thu, Apr 06, 2017 at 03:08:37PM +0800, Peter Xu wrote:
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> include/exec/memory.h | 3 +++
> memory.c | 4 ++--
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index 0840c89..07e43da 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -239,6 +239,9 @@ struct MemoryRegion {
> IOMMUNotifierFlag iommu_notify_flags;
> };
>
> +#define IOMMU_NOTIFIER_FOREACH(n, mr) \
> + QLIST_FOREACH((n), &(mr)->iommu_notify, node)
> +
> /**
> * MemoryListener: callbacks structure for updates to the physical memory map
> *
> diff --git a/memory.c b/memory.c
> index 75ac595..7496b3d 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -1583,7 +1583,7 @@ static void memory_region_update_iommu_notify_flags(MemoryRegion *mr)
> IOMMUNotifierFlag flags = IOMMU_NOTIFIER_NONE;
> IOMMUNotifier *iommu_notifier;
>
> - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
> + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
> flags |= iommu_notifier->notifier_flags;
> }
>
> @@ -1667,7 +1667,7 @@ void memory_region_notify_iommu(MemoryRegion *mr,
> request_flags = IOMMU_NOTIFIER_UNMAP;
> }
>
> - QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) {
> + IOMMU_NOTIFIER_FOREACH(iommu_notifier, mr) {
> /*
> * Skip the notification if the notification does not overlap
> * with registered range.
> --
> 2.7.4
© 2016 - 2026 Red Hat, Inc.