login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
netbsd-tech-kern
»
2011
»
January
»
4
Re: CVS commit: src/sys/uvm
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Masao Uebayashi
Subject:
Re: CVS commit: src/sys/uvm
Date: Monday, January 3, 2011 - 9:53 pm
Do you have any questions yet? On Wed, Dec 22, 2010 at 12:52:21PM +0900, Masao Uebayashi wrote:
quoted text
> On Tue, Dec 21, 2010 at 06:33:53PM -0800, Matt Thomas wrote: > > > > On Dec 21, 2010, at 6:13 PM, Masao Uebayashi wrote: > > > > > On Tue, Dec 21, 2010 at 11:29:01AM -0800, Matt Thomas wrote: > > >> > > >> On Dec 6, 2010, at 8:19 AM, Masao Uebayashi wrote: > > >> > > >>> On Thu, Nov 25, 2010 at 11:32:39PM +0000, YAMAMOTO Takashi wrote: > > >>>> [ adding cc: tech-kern@ ] > > >>> > > >>> The basic idea is straightforward; always allocate vm_physseg for > > >>> memories/devices. If a vm_physseg is used as general purpose > > >>> memory, you allocate vm_page[] (as vm_physseg::pgs). If it's > > >>> potentially mapped as cached, you allocate pvh (as vm_physseg:pvh). > > >> > > >> Ewww. How p->v is managed needs to be kept out of the MI code. > > > > > > Could you elaborate the reason why so? > > > > PowerPC OEA uses an inverted page table. It's p->v works very differently. > > True. > > > > > > I've already proven that __HAVE_VM_PAGE_MD pmaps don't need struct > > > vm_page *. > > > > Well, pmap_page_* definitely need vm_page * since it's one of the arguments. > > Yes, and vm_page * is used as page identity, right? > > What I call "vm_page is used" means for example read/write'ing > pg->flags. In that sense, vm_page is not really used in any pmaps. > > > > > >>>> any valid paddr_t value will belong to exactly one vm_phsseg? > > >>> > > >>> That's the idea. This would clarify mem(4) backend too. > > >>> > > >>> Note that allocating vm_physseg for device segments is cheap. > > >> > > >> that's depends on how much more expensive finding physseg gets. > > > > > > "Finding physseg" == "(reverse) lookup of vm_page -> vm_physseg". > > > It is done only once (for each page) in pagers that use vm_page. > > > > > > Is the biggest concern lookup cost? Then I'd point out that > > > uvm_pageismanaged() in pmap_enter() should die. Cacheability is > > > decided by how VA is mapped. Those uvm_pageismanaged() calls are > > > both inefficient and wrong. > > > > Not all pmaps use that. Instead, we should have a PMAP_UNMANAGED > > flag passed to pmap_enter since the caller probably know the > > answer. > > s/probably know/know/ > > IMO cacheability is always explicitly specified by UVM. > > Cacheability is decided by how VA is mapped, i.e., shared or not. > Vnode are shared but read-only, so it's cacheable. Device registers > are shared between CPU and H/W, so it can't be cacheable.
-- Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
Re: CVS commit: src/sys/uvm
, YAMAMOTO Takashi
, (Thu Nov 25, 4:32 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Mon Dec 6, 9:19 am)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Tue Dec 21, 2:10 am)
Re: CVS commit: src/sys/uvm
, Matt Thomas
, (Tue Dec 21, 12:29 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Tue Dec 21, 7:13 pm)
Re: CVS commit: src/sys/uvm
, Matt Thomas
, (Tue Dec 21, 7:33 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Tue Dec 21, 8:52 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Tue Dec 21, 9:07 pm)
Re: CVS commit: src/sys/uvm
, YAMAMOTO Takashi
, (Tue Dec 21, 10:37 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Wed Dec 22, 8:48 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Mon Jan 3, 9:53 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Mon Jan 3, 10:01 pm)
Re: CVS commit: src/sys/uvm
, Matt Thomas
, (Mon Jan 3, 11:28 pm)
Re: CVS commit: src/sys/uvm
, Masao Uebayashi
, (Tue Jan 4, 7:57 am)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Greg Kroah-Hartman
[PATCH 041/196] kobject: add kobject_init_and_add function
Lukas Hejtmanek
Re: Another libata error related to OCZ SSD
Greg Kroah-Hartman
[PATCH 023/196] MCP_UCB1200: Convert from class_device to device
Florian Fainelli
Re: System clock runs too fast after 2.6.27 -> 2.6.28.1 upgrade
Christoph Lameter
[patch 1/4] mmu_notifier: Core code
git
:
Johannes Schindelin
Re: [PATCH 1/2] Add strbuf_initf()
John Bito
[EGIT] Push to GitHub caused corruption
Jakub Narebski
Re: [PATCH 0/2] gitweb: patch view
Junio C Hamano
Re: [PATCH] When a remote is added but not fetched, tell the user.
Andy Parkins
Re: [RFC] Submodules in GIT
git-commits-head
:
Linux Kernel Mailing List
ahci: Workaround HW bug for SB600/700 SATA controller PMP support
Linux Kernel Mailing List
V4L/DVB (11086): au0828: rename macro for currently non-function VBI support
Linux Kernel Mailing List
ceph: client types
Linux Kernel Mailing List
ceph: on-wire types
Linux Kernel Mailing List
crypto: chainiv - Use kcrypto_wq instead of keventd_wq
linux-netdev
:
Andrew Morton
Re: [Bugme-new] [Bug 14969] New: b44: WOL does not work in suspended state
Giuseppe CAVALLARO
Re: [PATCH 03/13] stmmac: add the new Header file for stmmac platform data
Taku Izumi
[PATCH 3/3] ixgbe: add registers etc. printout code just before resetting adapters
Eric Dumazet
rps: some comments
Thomas Gleixner
Re: [RFC PATCH 02/12] On Tue, 23 Sep 2008, David Miller wrote:
openbsd-misc
:
Stephan Andreas
problems with login after xlock in OpenBSD release 4.7
pmc
Make A Change. Alcoholism and Drug Addiction Treatment
ropers
Re: what exactly is enc0?
Fuad NAHDI
Re: What does your environment look like?
Matthew Szudzik
Typo on OpenBSD 4.4 CD Set
Colocation donated by:
Syndicate