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

From: David Hildenbrand
Date: Wed Aug 18 2021 - 04:44:44 EST

On 18.08.21 10:06, 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 :-)

Similar code I encountered in other places uses "len" vs "cur_len" or "total_len" vs. "cur_len". I agree that everything is better than "len" vs. "_len".

I just cannot come up with a proper word for "seg" that would make sense. "Segment" ? Maybe my uneducated mind is missing some important English words that just fit perfectly here.

Anyhow, just my 2 cents, you maintain this code :)


David / dhildenb