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

From: Janis Schoetterl-Glausch
Date: Thu Aug 19 2021 - 09:53:37 EST


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 ?
>
>>
>>> + rc = access_guest_frame(vcpu->kvm, mode, gpa, data, seg);
>>> + len -= seg;
>>> + gra += seg;
>>> + data += seg;
>>> }
>>> return rc;
>>> }
>>>
>>
>>
>