[PATCH] KVM: s390: gmap: use assign_bit() where applicable

Peng Fan (OSS) posted 1 patch 4 days, 18 hours ago
arch/s390/kvm/gmap/gmap.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
[PATCH] KVM: s390: gmap: use assign_bit() where applicable
Posted by Peng Fan (OSS) 4 days, 18 hours ago
From: Peng Fan <peng.fan@nxp.com>

Convert open-coded if/else with set_bit/clear_bit to the assign_bit API.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/s390/kvm/gmap/gmap.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/arch/s390/kvm/gmap/gmap.c b/arch/s390/kvm/gmap/gmap.c
index 3f3fa864cc36..89a5ed4ac440 100644
--- a/arch/s390/kvm/gmap/gmap.c
+++ b/arch/s390/kvm/gmap/gmap.c
@@ -90,20 +90,13 @@ static void gmap_add_child(struct gmap *parent, struct gmap *child)
 
 	child->parent = parent;
 
-	if (is_ucontrol(parent))
-		set_bit(GMAP_FLAG_IS_UCONTROL, &child->flags);
-	else
-		clear_bit(GMAP_FLAG_IS_UCONTROL, &child->flags);
+	assign_bit(GMAP_FLAG_IS_UCONTROL, &child->flags, is_ucontrol(parent));
 
-	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags))
-		set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
-	else
-		clear_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
+	assign_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags,
+		   test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags));
 
-	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags))
-		set_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
-	else
-		clear_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
+	assign_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags,
+		   test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags));
 
 	if (kvm_is_ucontrol(parent->kvm))
 		clear_bit(GMAP_FLAG_OWNS_PAGETABLES, &child->flags);
-- 
2.51.0
Re: [PATCH] KVM: s390: gmap: use assign_bit() where applicable
Posted by Heiko Carstens 4 days, 4 hours ago
On Sun, Sep 20, 2026 at 10:26:25AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Convert open-coded if/else with set_bit/clear_bit to the assign_bit API.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  arch/s390/kvm/gmap/gmap.c | 17 +++++------------
>  1 file changed, 5 insertions(+), 12 deletions(-)
...
> -	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags))
> -		set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
> -	else
> -		clear_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
> +	assign_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags,
> +		   test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags));
>  
> -	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags))
> -		set_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
> -	else
> -		clear_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
> +	assign_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags,
> +		   test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags));

This turns something which was easily readable into an unreadable mess.
Re: [PATCH] KVM: s390: gmap: use assign_bit() where applicable
Posted by Christian Borntraeger 3 days, 13 hours ago

Am 20.09.26 um 18:18 schrieb Heiko Carstens:
> On Sun, Sep 20, 2026 at 10:26:25AM +0800, Peng Fan (OSS) wrote:
>> From: Peng Fan <peng.fan@nxp.com>
>>
>> Convert open-coded if/else with set_bit/clear_bit to the assign_bit API.
>>
>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
>> ---
>>   arch/s390/kvm/gmap/gmap.c | 17 +++++------------
>>   1 file changed, 5 insertions(+), 12 deletions(-)
> ...
>> -	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags))
>> -		set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
>> -	else
>> -		clear_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
>> +	assign_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags,
>> +		   test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags));
>>   
>> -	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags))
>> -		set_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
>> -	else
>> -		clear_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
>> +	assign_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags,
>> +		   test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags));
> 
> This turns something which was easily readable into an unreadable mess.

I agree, this is not a good use for the assign_bit helper.
Re: [PATCH] KVM: s390: gmap: use assign_bit() where applicable
Posted by Peng Fan 3 days, 13 hours ago
On Mon, Sep 21, 2026 at 09:06:26AM +0200, Christian Borntraeger wrote:
>
>
>Am 20.09.26 um 18:18 schrieb Heiko Carstens:
>> On Sun, Sep 20, 2026 at 10:26:25AM +0800, Peng Fan (OSS) wrote:
>> > From: Peng Fan <peng.fan@nxp.com>
>> > 
>> > Convert open-coded if/else with set_bit/clear_bit to the assign_bit API.
>> > 
>> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
>> > ---
>> >   arch/s390/kvm/gmap/gmap.c | 17 +++++------------
>> >   1 file changed, 5 insertions(+), 12 deletions(-)
>> ...
>> > -	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags))
>> > -		set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
>> > -	else
>> > -		clear_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags);
>> > +	assign_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &child->flags,
>> > +		   test_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &parent->flags));
>> > -	if (test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags))
>> > -		set_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
>> > -	else
>> > -		clear_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags);
>> > +	assign_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &child->flags,
>> > +		   test_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &parent->flags));
>> 
>> This turns something which was easily readable into an unreadable mess.
>
>I agree, this is not a good use for the assign_bit helper.

No problem. Let's drop the patch.

Thanks,
Peng

>
>