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 :)
--
Thanks,
David / dhildenb