Messages in this thread | | | Subject | Re: [PATCH] xen/x86: fix PV trap handling on secondary processors | From | Boris Ostrovsky <> | Date | Fri, 17 Sep 2021 13:50:54 -0400 |
| |
On 9/17/21 3:24 AM, Juergen Gross wrote: > On 17.09.21 08:50, Jan Beulich wrote: >> On 17.09.2021 08:47, Juergen Gross wrote: >>> On 17.09.21 08:40, Jan Beulich wrote: >>>> On 17.09.2021 03:34, Boris Ostrovsky wrote: >>>>> >>>>> On 9/16/21 11:04 AM, Jan Beulich wrote: >>>>>> { >>>>>> const struct desc_ptr *desc = this_cpu_ptr(&idt_desc); >>>>>> + unsigned i, count = (desc->size + 1) / sizeof(gate_desc); >>>>>> - xen_convert_trap_info(desc, traps); >>>>> >>>>> >>>>> Can you instead add a boolean parameter to xen_convert_trap_info() to indicate whether to skip empty entries? That will avoid (almost) duplicating the code. >>>> >>>> I can, sure, but I specifically didn't, as the result is going to be less >>>> readable imo. Instead I was considering to fold xen_convert_trap_info() >>>> into its only remaining caller. Yet if you're convinced adding the >>>> parameter is the way to do, I will go that route. But please confirm.
Yes, that would be my preference. No preference on where to set the sentinel.
Thanks.
-boris
>>> >>> I don't think the result will be very hard to read. All you need is the >>> new parameter and extending the if statement in xen_convert_trap_info() >>> to increment out always if no entry is to be skipped. >> >> And skip writing the sentinel. > > Maybe it would be even better then to let xen_convert_trap_info() return > the number of entries written and to write the sentinel in > xen_load_idt() instead, as this is the only place where it is needed. > > > Juergen
| |