Re: [PATCH 3/4] kvm: powerpc: define a linux pte lookup function

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

 



On Thu, Oct 10, 2013 at 10:44:54AM +0000, Bhushan Bharat-R65777 wrote:
> 
> 
> > -----Original Message-----
> > From: Paul Mackerras [mailto:paulus@xxxxxxxxx]
> > Sent: Thursday, October 10, 2013 4:06 PM
> > To: Wood Scott-B07421
> > Cc: Bhushan Bharat-R65777; Wood Scott-B07421; agraf@xxxxxxx; Yoder Stuart-
> > B08248; kvm@xxxxxxxxxxxxxxx; kvm-ppc@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH 3/4] kvm: powerpc: define a linux pte lookup function
> > 
> > On Wed, Oct 09, 2013 at 12:47:31PM -0500, Scott Wood wrote:
> > > On Wed, 2013-10-09 at 03:48 -0500, Bhushan Bharat-R65777 wrote:
> > > >
> > > > What lookup_linux_pte_and_update() does:-
> > > >  - find_linux_pte_or_hugepte()
> > > >  - does size and some other trivial checks
> > > >  - Then atomically update the pte:-
> > > >    => while()
> > > >    => wait till _PAGE_BUSY is clear
> > > >    => atomically update the pte
> > > >    => if not updated then go back to while() above else break
> > > >
> > > >
> > > > While what lookup_linux_pte() does:-
> > > >  - find_linux_pte_or_hugepte()
> > > >  - does size and some other trivial checks
> > > >  - wait till _PAGE_BUSY is clear
> > > >  - return pte
> > > >
> > > > I am finding it difficult to call lookup_linux_pte() from
> > lookup_linux_pte_and_update().
> > >
> > > You could factor out a common lookup_linux_ptep().
> > 
> > I don't really think it's enough code to be worth wringing out the last drop of
> > duplication.  However, if he removed the checks for _PAGE_BUSY and _PAGE_PRESENT
> > as I suggested in another mail, and made it return the pte pointer rather than
> > the value, it would then essentially be a lookup_linux_ptep() as you suggest.
> 
> Do we want to have lookup_linux_pte() or  lookup_linux_ptep() or both where lookup_linux_pte() and lookup_linux_pte_and_update() calls lookup_linux_ptep() ?

I don't think we want both lookup_linux_pte() and lookup_linux_ptep().
Either have a lookup_linux_ptep() and call it from your book E code
and from lookup_linux_pte_and_update(), or keep a separate
lookup_linux_pte() and don't make the _and_update() version call it.
I don't really care; you decide which looks nicer in the end.  Of
course someone will then tell you to do it the other way, but at that
point it's just a matter of taste.

Paul.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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