Frank Hofmann wrote:
How would this work with network I/O? Do the IOMMUs support 64k pages?

AFAIK yes

Yes.

I remember I/O (both the ingraindness of MAXBSIZE in segmap and the

segmap needs to die a slow, miserable death.

exposure of PAGESIZE via VOP_GETPAGE) was a big killer argument against

The VM/FS interfaces need a good rewhacking anyway.

the 64kB pagesize project back in its time. Even these days, I/O sizes are often "few kB", especially on networks even with jumbo frames, but also still on disks/filesystems :(

IMO 8K (or smaller) blocks still need to be supported for I/O. The fact that the I/O subsystem relies on assumptions of PAGESIZE throughout is unfortunate, and will make an effort such as this difficult. In due time the plan is for the VM2 work to slowly remove these restrictions but it isn't going to happen overnight.

Depends a lot on your average "I/O chunk size".

Which is certainly well below 64K for files and ethernet.

Most of the "interesting" code in the 64K prototype was to fix UFS' assumption of MAXBSIZE <= PAGESIZE, and to hack around the PAGESIZE exposure to FS via VOP_GETPAGE(). There was also some code to synthesize 8K TTEs in the ITLB miss handler for CPUs which don't support 64K in the ITLB (Cheetah this means you).

Cleaning up this code and bringing it forward to Nevada so it can be CDDL'ed is a very nontrivial piece of work since there is no one expert in all of the areas touched (it would require many engineers to bring it up to date I think). Instead I would think it would be more productive to think about ways to get a prototype working without these hacks: pick a FS, modify it to use a PAGESIZE-agnostic set of VFS interfaces,....

- Eric
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to