diff mbox

[v8,2/9] memory: provide IOMMU_NOTIFIER_FOREACH macro

Message ID 1491462524-1617-3-git-send-email-peterx@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Xu April 6, 2017, 7:08 a.m. UTC
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(-)

Comments

Eric Auger April 6, 2017, 10:45 a.m. UTC | #1
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.
>
Peter Xu April 6, 2017, 11:12 a.m. UTC | #2
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
Eric Auger April 6, 2017, 11:30 a.m. UTC | #3
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
>
Michael S. Tsirkin April 6, 2017, 11:54 a.m. UTC | #4
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
diff mbox

Patch

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.