Re: [PATCH v4 03/10] KVM: s390: add the GIB and its related life-cyle functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 3 Dec 2018 10:31:00 +0100
Michael Mueller <mimu@xxxxxxxxxxxxx> wrote:

> On 03.12.18 10:00, Cornelia Huck wrote:
> > On Fri, 30 Nov 2018 15:32:08 +0100
> > Michael Mueller <mimu@xxxxxxxxxxxxx> wrote:
> >   
> >> The GIB (Guest Information Block) links the GISA of all guests
> >> that have adapter interrupts pending. These interrupts cannot be
> >> delivered because no vcpu of these guests is currently running in
> >> SIE context. Instead, a GIB alert is issued on the host to schedule
> >> these guests to run.
> >>
> >> This mechanism allows to process adapter interrupts for currently
> >> not running guests.
> >>
> >> The GIB is created during host initialization and associated with
> >> the Adapter Interruption Facility in case an Adapter Interruption
> >> Virtualization Facility is available.
> >>
> >> The GIB initialization and thus the activation of the related code
> >> will be done in an upcoming patch of this series.
> >>
> >> Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxx>
> >> Reviewed-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
> >> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
> >> ---
> >>   arch/s390/include/asm/kvm_host.h | 10 ++++++++++
> >>   arch/s390/kvm/interrupt.c        | 37 +++++++++++++++++++++++++++++++++++++
> >>   arch/s390/kvm/kvm-s390.c         |  1 +
> >>   arch/s390/kvm/kvm-s390.h         |  2 ++
> >>   4 files changed, 50 insertions(+)
> >>  
> >   
> >> +int kvm_s390_gib_init(u8 nisc)
> >> +{
> >> +	if (!css_general_characteristics.aiv) {
> >> +		KVM_EVENT(3, "%s", "gib not initialized, no AIV facility");
> >> +		return 0;
> >> +	}
> >> +
> >> +	gib = (struct kvm_s390_gib *)get_zeroed_page(GFP_KERNEL | GFP_DMA);
> >> +	if (!gib) {
> >> +		KVM_EVENT(3, "gib 0x%pK memory allocation failed", gib);
> >> +		return -ENOMEM;
> >> +	}
> >> +
> >> +	gib->nisc = nisc;
> >> +	if (chsc_sgib((u32)(u64)gib)) {
> >> +		KVM_EVENT(3, "gib 0x%pK AIV association failed", gib);  
> > 
> > I think that's the one place where a message in addition to the dbf
> > event makes sense (if kvm is built as a module), as mentioned last time.  
> 
> The message is printed when kvm_s390_gib_init() fails. See last patch of 
> series.

But that only logs the rc (-EIO), not the extra information here? I'm
worried that we might end up with non-unique rcs for different problems.
> 
> >   
> >> +		free_page((unsigned long)gib);
> >> +		gib = NULL;
> >> +		return -EIO;
> >> +	}
> >> +
> >> +	KVM_EVENT(3, "gib 0x%pK (nisc=%d) initialized", gib,
> >> gib->nisc);
> >> +	return 0;
> >> +}  
> > 
> > Otherwise, looks good to me.
> >   
> 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux