From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: Documentation of the kvm->srcu lock Date: Mon, 09 Sep 2013 14:13:33 +0200 Message-ID: <522DBB6D.1050206@redhat.com> References: <20130909140032.3fb22a4a@thhw500> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Xiao Guangrong To: Thomas Huth Return-path: Received: from mail-qc0-f179.google.com ([209.85.216.179]:38491 "EHLO mail-qc0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752822Ab3IIMNb (ORCPT ); Mon, 9 Sep 2013 08:13:31 -0400 Received: by mail-qc0-f179.google.com with SMTP id l4so3220296qcv.38 for ; Mon, 09 Sep 2013 05:13:30 -0700 (PDT) In-Reply-To: <20130909140032.3fb22a4a@thhw500> Sender: kvm-owner@vger.kernel.org List-ID: Il 09/09/2013 14:00, Thomas Huth ha scritto: > > Hi all! > > I am quite new to KVM, and I recently had to struggle with the > kvm->srcu lock a little bit ... documentation for this lock seems > to be quite sparse, I've only found some descriptions in mailing > list archives (the description at the following URL is quite good: > http://www.mail-archive.com/kvm@vger.kernel.org/msg90003.html ). > > So I wonder whether it would be helpful for others, too, if some > information about this lock was added to the documentation file > Documentation/virtual/kvm/locking.txt for example? I'd like to > suggest the following text as a first draft (using some information > from the URL above): > > Name: kvm->srcu > Type: srcu lock > Arch: any > Protects: - kvm->memslots > - kvm->buses > Comment: The srcu read lock must be held while accessing memslots (e.g. > when using gfn_to_* functions) and while accessing in-kernel > MMIO/PIO address->device structure mapping (kvm->buses). > The srcu index can be stored in kvm_vcpu->srcu_idx per vcpu > if it is needed by multiple functions. > > What do you think? Since I am not an expert in this area, extension > and/or corrections are very welcome! Yes, this looks good. Xiao, any suggestions? Paolo