diff mbox series

mm/mmu_notifier: Remove unused mmu_notifier_range_update_to_read_only export

Message ID 20230109012207.79457-1-apopple@nvidia.com (mailing list archive)
State New
Headers show
Series mm/mmu_notifier: Remove unused mmu_notifier_range_update_to_read_only export | expand

Commit Message

Alistair Popple Jan. 9, 2023, 1:22 a.m. UTC
mmu_notifier_range_update_to_read_only() was originally introduced in
commit c6d23413f81b ("mm/mmu_notifier:
mmu_notifier_range_update_to_read_only() helper") as an optimisation
for device drivers that know a range has only been mapped
read-only. However there are no users of this feature so remove it. As
it is the only user of the struct mmu_notifier_range.vma field remove
that also.

Signed-off-by: Alistair Popple <apopple@nvidia.com>
---
 include/linux/mmu_notifier.h |  2 --
 mm/mmu_notifier.c            | 10 ----------
 2 files changed, 12 deletions(-)

Comments

Mike Rapoport Jan. 9, 2023, 10:13 a.m. UTC | #1
On Mon, Jan 09, 2023 at 12:22:07PM +1100, Alistair Popple wrote:
> mmu_notifier_range_update_to_read_only() was originally introduced in
> commit c6d23413f81b ("mm/mmu_notifier:
> mmu_notifier_range_update_to_read_only() helper") as an optimisation
> for device drivers that know a range has only been mapped
> read-only. However there are no users of this feature so remove it. As
> it is the only user of the struct mmu_notifier_range.vma field remove
> that also.
> 
> Signed-off-by: Alistair Popple <apopple@nvidia.com>

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>

> ---
>  include/linux/mmu_notifier.h |  2 --
>  mm/mmu_notifier.c            | 10 ----------
>  2 files changed, 12 deletions(-)
> 
> diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
> index d6c06e140277..252e44afcc70 100644
> --- a/include/linux/mmu_notifier.h
> +++ b/include/linux/mmu_notifier.h
> @@ -269,7 +269,6 @@ extern struct lockdep_map __mmu_notifier_invalidate_range_start_map;
>  #endif
>  
>  struct mmu_notifier_range {
> -	struct vm_area_struct *vma;
>  	struct mm_struct *mm;
>  	unsigned long start;
>  	unsigned long end;
> @@ -519,7 +518,6 @@ static inline void mmu_notifier_range_init(struct mmu_notifier_range *range,
>  					   unsigned long start,
>  					   unsigned long end)
>  {
> -	range->vma = vma;
>  	range->event = event;
>  	range->mm = mm;
>  	range->start = start;
> diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
> index f45ff1b7626a..50c0dde1354f 100644
> --- a/mm/mmu_notifier.c
> +++ b/mm/mmu_notifier.c
> @@ -1120,13 +1120,3 @@ void mmu_notifier_synchronize(void)
>  	synchronize_srcu(&srcu);
>  }
>  EXPORT_SYMBOL_GPL(mmu_notifier_synchronize);
> -
> -bool
> -mmu_notifier_range_update_to_read_only(const struct mmu_notifier_range *range)
> -{
> -	if (!range->vma || range->event != MMU_NOTIFY_PROTECTION_VMA)
> -		return false;
> -	/* Return true if the vma still have the read flag set. */
> -	return range->vma->vm_flags & VM_READ;
> -}
> -EXPORT_SYMBOL_GPL(mmu_notifier_range_update_to_read_only);
> -- 
> 2.35.1
> 
>
Jason Gunthorpe Jan. 9, 2023, 1:11 p.m. UTC | #2
On Mon, Jan 09, 2023 at 12:22:07PM +1100, Alistair Popple wrote:
> mmu_notifier_range_update_to_read_only() was originally introduced in
> commit c6d23413f81b ("mm/mmu_notifier:
> mmu_notifier_range_update_to_read_only() helper") as an optimisation
> for device drivers that know a range has only been mapped
> read-only. However there are no users of this feature so remove it. As
> it is the only user of the struct mmu_notifier_range.vma field remove
> that also.
> 
> Signed-off-by: Alistair Popple <apopple@nvidia.com>
> ---
>  include/linux/mmu_notifier.h |  2 --
>  mm/mmu_notifier.c            | 10 ----------
>  2 files changed, 12 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason
Mike Kravetz Jan. 9, 2023, 7:20 p.m. UTC | #3
On 01/09/23 12:22, Alistair Popple wrote:
> mmu_notifier_range_update_to_read_only() was originally introduced in
> commit c6d23413f81b ("mm/mmu_notifier:
> mmu_notifier_range_update_to_read_only() helper") as an optimisation
> for device drivers that know a range has only been mapped
> read-only. However there are no users of this feature so remove it. As
> it is the only user of the struct mmu_notifier_range.vma field remove
> that also.
> 
> Signed-off-by: Alistair Popple <apopple@nvidia.com>
> ---
>  include/linux/mmu_notifier.h |  2 --
>  mm/mmu_notifier.c            | 10 ----------
>  2 files changed, 12 deletions(-)
> 
> diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
> index d6c06e140277..252e44afcc70 100644
> --- a/include/linux/mmu_notifier.h
> +++ b/include/linux/mmu_notifier.h
> @@ -269,7 +269,6 @@ extern struct lockdep_map __mmu_notifier_invalidate_range_start_map;
>  #endif
>  
>  struct mmu_notifier_range {
> -	struct vm_area_struct *vma;
>  	struct mm_struct *mm;
>  	unsigned long start;
>  	unsigned long end;
> @@ -519,7 +518,6 @@ static inline void mmu_notifier_range_init(struct mmu_notifier_range *range,
>  					   unsigned long start,
>  					   unsigned long end)
>  {
> -	range->vma = vma;

Any reason why you did not delete the vma argument to mmu_notifier_range_init?
Alistair Popple Jan. 10, 2023, 12:37 a.m. UTC | #4
Mike Kravetz <mike.kravetz@oracle.com> writes:

> On 01/09/23 12:22, Alistair Popple wrote:
>> mmu_notifier_range_update_to_read_only() was originally introduced in
>> commit c6d23413f81b ("mm/mmu_notifier:
>> mmu_notifier_range_update_to_read_only() helper") as an optimisation
>> for device drivers that know a range has only been mapped
>> read-only. However there are no users of this feature so remove it. As
>> it is the only user of the struct mmu_notifier_range.vma field remove
>> that also.
>> 
>> Signed-off-by: Alistair Popple <apopple@nvidia.com>
>> ---
>>  include/linux/mmu_notifier.h |  2 --
>>  mm/mmu_notifier.c            | 10 ----------
>>  2 files changed, 12 deletions(-)
>> 
>> diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
>> index d6c06e140277..252e44afcc70 100644
>> --- a/include/linux/mmu_notifier.h
>> +++ b/include/linux/mmu_notifier.h
>> @@ -269,7 +269,6 @@ extern struct lockdep_map __mmu_notifier_invalidate_range_start_map;
>>  #endif
>>  
>>  struct mmu_notifier_range {
>> -	struct vm_area_struct *vma;
>>  	struct mm_struct *mm;
>>  	unsigned long start;
>>  	unsigned long end;
>> @@ -519,7 +518,6 @@ static inline void mmu_notifier_range_init(struct mmu_notifier_range *range,
>>  					   unsigned long start,
>>  					   unsigned long end)
>>  {
>> -	range->vma = vma;
>
> Any reason why you did not delete the vma argument to mmu_notifier_range_init?

Argh, because I wrote this as a quick test before the break and totally
forgot that is why I didn't send it before going on leave. Thanks for
noticing, will send a v2.

 - Alistair
diff mbox series

Patch

diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
index d6c06e140277..252e44afcc70 100644
--- a/include/linux/mmu_notifier.h
+++ b/include/linux/mmu_notifier.h
@@ -269,7 +269,6 @@  extern struct lockdep_map __mmu_notifier_invalidate_range_start_map;
 #endif
 
 struct mmu_notifier_range {
-	struct vm_area_struct *vma;
 	struct mm_struct *mm;
 	unsigned long start;
 	unsigned long end;
@@ -519,7 +518,6 @@  static inline void mmu_notifier_range_init(struct mmu_notifier_range *range,
 					   unsigned long start,
 					   unsigned long end)
 {
-	range->vma = vma;
 	range->event = event;
 	range->mm = mm;
 	range->start = start;
diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index f45ff1b7626a..50c0dde1354f 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -1120,13 +1120,3 @@  void mmu_notifier_synchronize(void)
 	synchronize_srcu(&srcu);
 }
 EXPORT_SYMBOL_GPL(mmu_notifier_synchronize);
-
-bool
-mmu_notifier_range_update_to_read_only(const struct mmu_notifier_range *range)
-{
-	if (!range->vma || range->event != MMU_NOTIFY_PROTECTION_VMA)
-		return false;
-	/* Return true if the vma still have the read flag set. */
-	return range->vma->vm_flags & VM_READ;
-}
-EXPORT_SYMBOL_GPL(mmu_notifier_range_update_to_read_only);