OpenSolaris

Printable Version Enter a New Search
Bug ID 6328213
Synopsis bp_mapin() should use kpm
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:ddi
Keywords
Responsible Engineer Chris Horne
Reported Against snv_25
Duplicate Of
Introduced In solaris_10
Commit to Fix snv_33
Fixed In snv_33
Release Fixed solaris_nevada(snv_33)
Related Bugs 6383896 , 6394283 , 6437833 , 6438387 , 6505228 , 4645754
Submit Date 23-September-2005
Last Update Date 8-February-2006
Description
The bp_mapin code should have a fastpath that uses seg kpm
on 64-bit kernels, establishing a bp->b_un.b_addr that
IS_KPM_ADDR().  This will avoid the overhead of kernel vm
allocation and mapping, esp the associated cross-cpu 
synchronization. For information on kpm see 4645754, which
was putback to s10_48.

Traditionaly bp_mapin was only used for lower-speed non-DMA
transports, but now with faster USB/fire-wire and iSCSI the
need to bp_mapin occurs more frequently.  I think this
optimization could provide a significant performance advantage
(esp on large machines).

I am filing this as a P2 RFE since I think the implementation
difficulty will be low, and the benefit may be large.  I
am also taking the liberty of assigning mark.johnson as RE
since he just finished enhancing the x86 rootnex to use kpm
for 64-bit platforms (amd64).
Work Around
N/A
Comments
N/A