tech-kern archive

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

XIP



I think the uebayasi-xip branch is ready to be merged.

This branch implements a preliminary support of eXecute-In-Place;
execute programs directly from memory-mappable devices without
copying files into RAM.  This benefits mainly resource restricted
embedded systems to save RAM consumption.

My approach to achieve XIP is to implement a generic XIP vnode
pager which is neutral to underlying filesystem formats.  The result
is a minimal code impact + sharing the generic fault handler.

*

I asked Chuck Silvers to review the branch.  I believe I've addressed
most of his questions except a few ones.  The most controversial part
might be the separate genfs_{get,put}pages_xip() functions and
PQ_FIXED.  I intend to merge genfs_*_xip() into the non-_xip(),
but that'd need a bit of surgery of genfs functions, so I want to
finish this part later.

For PQ_FIXED, I think I can make this look less hackish by teaching
uvm_fault() the handling of cdev's device pages - pages that are
not backed by vm_page.  This'll lead us to kill device pager.

*

I'll mege the branch within this week if no objections.

Masao

-- 
Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635


Home | Main Index | Thread Index | Old Index