[PATCH v2 0/7] Use guard() instead of rwsem locking

Li Ming posted 7 patches 10 months ago
There is a newer version of this series
drivers/cxl/core/hdm.c    | 68 +++++++++++-----------------
drivers/cxl/core/mbox.c   | 10 ++---
drivers/cxl/core/memdev.c | 17 +++----
drivers/cxl/core/port.c   |  8 +---
drivers/cxl/core/region.c | 95 +++++++++++++++++++--------------------
5 files changed, 85 insertions(+), 113 deletions(-)
[PATCH v2 0/7] Use guard() instead of rwsem locking
Posted by Li Ming 10 months ago
Use scoped resource management to replace open-coded locking operation
is recommended. CXL subsystem still remains some down_read()/up_read()
and down_write()/up_write() which can be replaced by guard() simply.

This patchset includes simply using guard() instead of some
down_read()/up_read() and down_write()/up_write() cases. Besides, it
also includes some function code cleanup after using guard().

base-commit: a64dcfb451e254085a7daee5fe51bf22959d52d3 (tag: v6.14-rc2)

v2:
- Drop some local variables. (Jonathan)
- Rename __construct_region() to construct_auto_region(). (Jonathan and Dave)

Li Ming (7):
  cxl/core: Use guard() to replace open-coded down_read/write()
  cxl/core: cxl_mem_sanitize() cleanup
  cxl/memdev: cxl_memdev_ioctl() cleanup
  cxl/core: Use guard() to drop the goto pattern of cxl_dpa_free()
  cxl/core: Use guard() to drop goto pattern of cxl_dpa_alloc()
  cxl/region: Drop goto pattern in cxl_dax_region_alloc()
  cxl/region: Drop goto pattern of construct_region()

 drivers/cxl/core/hdm.c    | 68 +++++++++++-----------------
 drivers/cxl/core/mbox.c   | 10 ++---
 drivers/cxl/core/memdev.c | 17 +++----
 drivers/cxl/core/port.c   |  8 +---
 drivers/cxl/core/region.c | 95 +++++++++++++++++++--------------------
 5 files changed, 85 insertions(+), 113 deletions(-)

-- 
2.34.1
Re: [PATCH v2 0/7] Use guard() instead of rwsem locking
Posted by Ira Weiny 10 months ago
Li Ming wrote:
> Use scoped resource management to replace open-coded locking operation
> is recommended. CXL subsystem still remains some down_read()/up_read()
> and down_write()/up_write() which can be replaced by guard() simply.
> 
> This patchset includes simply using guard() instead of some
> down_read()/up_read() and down_write()/up_write() cases. Besides, it
> also includes some function code cleanup after using guard().
> 
> base-commit: a64dcfb451e254085a7daee5fe51bf22959d52d3 (tag: v6.14-rc2)

For the series.

Reviewed-by: Ira Weiny <ira.weiny@intel.com>

> 
> v2:
> - Drop some local variables. (Jonathan)
> - Rename __construct_region() to construct_auto_region(). (Jonathan and Dave)
> 
> Li Ming (7):
>   cxl/core: Use guard() to replace open-coded down_read/write()
>   cxl/core: cxl_mem_sanitize() cleanup
>   cxl/memdev: cxl_memdev_ioctl() cleanup
>   cxl/core: Use guard() to drop the goto pattern of cxl_dpa_free()
>   cxl/core: Use guard() to drop goto pattern of cxl_dpa_alloc()
>   cxl/region: Drop goto pattern in cxl_dax_region_alloc()
>   cxl/region: Drop goto pattern of construct_region()
> 
>  drivers/cxl/core/hdm.c    | 68 +++++++++++-----------------
>  drivers/cxl/core/mbox.c   | 10 ++---
>  drivers/cxl/core/memdev.c | 17 +++----
>  drivers/cxl/core/port.c   |  8 +---
>  drivers/cxl/core/region.c | 95 +++++++++++++++++++--------------------
>  5 files changed, 85 insertions(+), 113 deletions(-)
> 
> -- 
> 2.34.1
>
Re: [PATCH v2 0/7] Use guard() instead of rwsem locking
Posted by Dave Jiang 10 months ago

On 2/17/25 7:48 AM, Li Ming wrote:
> Use scoped resource management to replace open-coded locking operation
> is recommended. CXL subsystem still remains some down_read()/up_read()
> and down_write()/up_write() which can be replaced by guard() simply.
> 
> This patchset includes simply using guard() instead of some
> down_read()/up_read() and down_write()/up_write() cases. Besides, it
> also includes some function code cleanup after using guard().
> 
> base-commit: a64dcfb451e254085a7daee5fe51bf22959d52d3 (tag: v6.14-rc2)
> 
> v2:
> - Drop some local variables. (Jonathan)
> - Rename __construct_region() to construct_auto_region(). (Jonathan and Dave)

Hi Ming,
Can you please do me a favor and rebase this against cxl/next for a v3? I think there are some conflicts against the DPA cleanup that's not easily resolved. Thanks!

DJ

> 
> Li Ming (7):
>   cxl/core: Use guard() to replace open-coded down_read/write()
>   cxl/core: cxl_mem_sanitize() cleanup
>   cxl/memdev: cxl_memdev_ioctl() cleanup
>   cxl/core: Use guard() to drop the goto pattern of cxl_dpa_free()
>   cxl/core: Use guard() to drop goto pattern of cxl_dpa_alloc()
>   cxl/region: Drop goto pattern in cxl_dax_region_alloc()
>   cxl/region: Drop goto pattern of construct_region()
> 
>  drivers/cxl/core/hdm.c    | 68 +++++++++++-----------------
>  drivers/cxl/core/mbox.c   | 10 ++---
>  drivers/cxl/core/memdev.c | 17 +++----
>  drivers/cxl/core/port.c   |  8 +---
>  drivers/cxl/core/region.c | 95 +++++++++++++++++++--------------------
>  5 files changed, 85 insertions(+), 113 deletions(-)
>
Re: [PATCH v2 0/7] Use guard() instead of rwsem locking
Posted by Li Ming 10 months ago
On 2/20/2025 5:09 AM, Dave Jiang wrote:
>
> On 2/17/25 7:48 AM, Li Ming wrote:
>> Use scoped resource management to replace open-coded locking operation
>> is recommended. CXL subsystem still remains some down_read()/up_read()
>> and down_write()/up_write() which can be replaced by guard() simply.
>>
>> This patchset includes simply using guard() instead of some
>> down_read()/up_read() and down_write()/up_write() cases. Besides, it
>> also includes some function code cleanup after using guard().
>>
>> base-commit: a64dcfb451e254085a7daee5fe51bf22959d52d3 (tag: v6.14-rc2)
>>
>> v2:
>> - Drop some local variables. (Jonathan)
>> - Rename __construct_region() to construct_auto_region(). (Jonathan and Dave)
> Hi Ming,
> Can you please do me a favor and rebase this against cxl/next for a v3? I think there are some conflicts against the DPA cleanup that's not easily resolved. Thanks!
>
> DJ

Sure, will do that.


Ming
Re: [PATCH v2 0/7] Use guard() instead of rwsem locking
Posted by Davidlohr Bueso 10 months ago
On Mon, 17 Feb 2025, Li Ming wrote:

>Use scoped resource management to replace open-coded locking operation
>is recommended. CXL subsystem still remains some down_read()/up_read()
>and down_write()/up_write() which can be replaced by guard() simply.
>
>This patchset includes simply using guard() instead of some
>down_read()/up_read() and down_write()/up_write() cases. Besides, it
>also includes some function code cleanup after using guard().

For the series, feel free to add my:

Acked-by: Davidlohr Bueso <dave@stgolabs.net>