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).