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; >>> } >>> >> >> >