Re: [PATCH 1/2] KVM: s390: gaccess: Cleanup access to guest frames

From: Janosch Frank
Date: Thu Aug 19 2021 - 10:12:00 EST


On 8/19/21 3:53 PM, Janis Schoetterl-Glausch wrote:
> On 8/18/21 10:06 AM, Janosch Frank wrote:
>> On 8/18/21 9:54 AM, David Hildenbrand wrote:
>>> On 16.08.21 17:07, Janis Schoetterl-Glausch wrote:
>>>> Introduce a helper function for guest frame access.
>>>> Rewrite the calculation of the gpa and the length of the segment
>>>> to be more readable.
>>>>
>>>> Signed-off-by: Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx>
>> [...]
>>>> - unsigned long _len, gpa;
>>>> + unsigned long gpa;
>>>> + unsigned int seg;
>>>> int rc = 0;
>>>>
>>>> while (len && !rc) {
>>>> gpa = kvm_s390_real_to_abs(vcpu, gra);
>>>> - _len = min(PAGE_SIZE - (gpa & ~PAGE_MASK), len);
>>>> - if (mode)
>>>> - rc = write_guest_abs(vcpu, gpa, data, _len);
>>>> - else
>>>> - rc = read_guest_abs(vcpu, gpa, data, _len);
>>>> - len -= _len;
>>>> - gra += _len;
>>>> - data += _len;
>>>> + seg = min(PAGE_SIZE - offset_in_page(gpa), len);
>>>
>>> What does "seg" mean? I certainly know when "len" means -- which is also
>>> what the function eats.
>>
>> What does "_len" mean especially in contrast to "len"?
>>
>> "seg" is used in the common kvm guest access functions so it's at least
>> consistent although I share the sentiment that it's not a great name for
>> the length we access inside the page.
>>
>> Originally I suggested "len_in_page" if you have a better name I'd
>> expect we'll both be happy to discuss it :-)
>
> fragment_len ?

Sounds good to me

>>
>>>
>>>> + rc = access_guest_frame(vcpu->kvm, mode, gpa, data, seg);
>>>> + len -= seg;
>>>> + gra += seg;
>>>> + data += seg;
>>>> }
>>>> return rc;
>>>> }
>>>>
>>>
>>>
>>
>