2018-11-03 08:42:05

by hmsjwzb

[permalink] [raw]
Subject: [PATCH] Change the total_dirty from SZ_256M to SZ_64M.

The SZ_256M will cause trouble in platform with less than 256M memory.
For example, a qemu virtual machine.

Signed-off-by: hmsjwzb <[email protected]>
---
fs/btrfs/tests/extent-io-tests.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/tests/extent-io-tests.c b/fs/btrfs/tests/extent-io-tests.c
index 9e0f4a01be14..cb23dce96a2d 100644
--- a/fs/btrfs/tests/extent-io-tests.c
+++ b/fs/btrfs/tests/extent-io-tests.c
@@ -62,7 +62,7 @@ static int test_find_delalloc(u32 sectorsize)
struct page *page;
struct page *locked_page = NULL;
unsigned long index = 0;
- u64 total_dirty = SZ_256M;
+ u64 total_dirty = SZ_64M;
u64 max_bytes = SZ_128M;
u64 start, end, test_start;
u64 found;
--
2.17.1



2018-11-03 09:02:20

by Nikolay Borisov

[permalink] [raw]
Subject: Re: [PATCH] Change the total_dirty from SZ_256M to SZ_64M.



On 3.11.18 г. 10:36 ч., hmsjwzb wrote:
> The SZ_256M will cause trouble in platform with less than 256M memory.
> For example, a qemu virtual machine.
>
> Signed-off-by: hmsjwzb <[email protected]>

If you have actually taken the care to understand the code in
test_find_delalloc you would have seen that total_dirty and max_bytes
are actually inter-dependent so you cannot really change total_bytes
without adjusting max_bytes as well. Otherwise tests will start breaking.

NACK on this (and likely any future postings of this) since the tests
are sized in a such a way so as to test design limits (such as the max
extent size which is 128MB)


> ---
> fs/btrfs/tests/extent-io-tests.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/tests/extent-io-tests.c b/fs/btrfs/tests/extent-io-tests.c
> index 9e0f4a01be14..cb23dce96a2d 100644
> --- a/fs/btrfs/tests/extent-io-tests.c
> +++ b/fs/btrfs/tests/extent-io-tests.c
> @@ -62,7 +62,7 @@ static int test_find_delalloc(u32 sectorsize)
> struct page *page;
> struct page *locked_page = NULL;
> unsigned long index = 0;
> - u64 total_dirty = SZ_256M;
> + u64 total_dirty = SZ_64M;
> u64 max_bytes = SZ_128M;
> u64 start, end, test_start;
> u64 found;
>

2018-11-03 09:18:57

by Qu Wenruo

[permalink] [raw]
Subject: Re: [PATCH] Change the total_dirty from SZ_256M to SZ_64M.



On 2018/11/3 下午5:01, Nikolay Borisov wrote:
>
>
> On 3.11.18 г. 10:36 ч., hmsjwzb wrote:
>> The SZ_256M will cause trouble in platform with less than 256M memory.
>> For example, a qemu virtual machine.
>>
>> Signed-off-by: hmsjwzb <[email protected]>
>
> If you have actually taken the care to understand the code in
> test_find_delalloc you would have seen that total_dirty and max_bytes
> are actually inter-dependent so you cannot really change total_bytes
> without adjusting max_bytes as well. Otherwise tests will start breaking.

Nowadays even for VM, the memory size should start from 2G.
If this 256M is causing problem, one should really re-consider the
memory size of the VM.

Not to mention the magic number is two ensure we have at least 2 file
extents.

>
> NACK on this (and likely any future postings of this) since the tests
> are sized in a such a way so as to test design limits (such as the max
> extent size which is 128MB)

And we should add some comment about this.

Personally I prefer some comment with this and also use (2 *
BTRFS_MAX_EXTENT_SIZE) other than this intermediate number.

Thanks,
Qu

>
>
>> ---
>> fs/btrfs/tests/extent-io-tests.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/btrfs/tests/extent-io-tests.c b/fs/btrfs/tests/extent-io-tests.c
>> index 9e0f4a01be14..cb23dce96a2d 100644
>> --- a/fs/btrfs/tests/extent-io-tests.c
>> +++ b/fs/btrfs/tests/extent-io-tests.c
>> @@ -62,7 +62,7 @@ static int test_find_delalloc(u32 sectorsize)
>> struct page *page;
>> struct page *locked_page = NULL;
>> unsigned long index = 0;
>> - u64 total_dirty = SZ_256M;
>> + u64 total_dirty = SZ_64M;
>> u64 max_bytes = SZ_128M;
>> u64 start, end, test_start;
>> u64 found;
>>