[Nouveau] [PATCH 1/2] ext4/xfs: add page refcount helper

Ralph Campbell rcampbell at nvidia.com
Mon Sep 28 22:20:48 UTC 2020


On 9/25/20 11:35 PM, Christoph Hellwig wrote:
> On Fri, Sep 25, 2020 at 01:44:41PM -0700, Ralph Campbell wrote:
>>   		error = ___wait_var_event(&page->_refcount,
>> -				atomic_read(&page->_refcount) == 1,
>> +				dax_layout_is_idle_page(page),
>>   				TASK_INTERRUPTIBLE, 0, 0,
>>   				ext4_wait_dax_page(ei));
> 
>> +++ b/fs/xfs/xfs_file.c
>> @@ -750,7 +750,7 @@ xfs_break_dax_layouts(
>>   
>>   	*retry = true;
>>   	return ___wait_var_event(&page->_refcount,
>> -			atomic_read(&page->_refcount) == 1, TASK_INTERRUPTIBLE,
>> +			dax_layout_is_idle_page(page), TASK_INTERRUPTIBLE,
>>   			0, 0, xfs_wait_dax_page(inode));
>>   }
> 
> I still think a litte helper macro would be nice here:
> 
> #define dax_wait_page(_inode, _page, _wait_cb)				\
>    	___wait_var_event(&(_page)->_refcount,				\
> 		atomic_read(&(_page)->_refcount) == 1,			\
> 		TASK_INTERRUPTIBLE, dax_layout_is_idle_page(_page),	\
> 		TASK_INTERRUPTIBLE, 0, 0, _wait_cb(_inode));

OK, I'll add it in v3.


More information about the Nouveau mailing list