You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jim Cadden edited this page May 22, 2013
·
1 revision
Process of Dynamic Ebb Construction / Initial Miss
The following steps occur when the first non statically constructed ebb is defined and then called:
Define a new ebb named enet of Ebb type Ethernet Ebb<Ethernet> enet (ebb_manager->allocateID())
Bind ebb to an root construction "factory" ebb_manager->bind(virtio::construct_root, enet)
Make an ebb call enet->AllocateBuffer()
Call will miss on local translation table and end up in lrt::_trans_precall(), which in turn will call the installed miss handler.
The default miss handler will resolve to InitRoot::PreCall
The call will again miss, this time on the initial (primative) root table that contains the statically constructed ebbs. This will require a call to ebb_manager->Install()
If this is the first install, the ebb_manager will need to lock, allocate local data structures, copy over primative root table entries, and construct the root.
Finally, the constructed ebb root of enet will root->PreCall which will cache the rep into the local translation table, avoiding further misses.