mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-31 08:25:38 +00:00
platform_drv/x86: remove device slab
Because of the session-argument buffering added to 'Connection' objects when changing the parent interface to be non-blocking, the 'Device_component' has grown in size from 1.5 KiB to 5 KiB. The slab allocator was configured with a block size of 4 KiB. So it does not work with the grown 'Device_component' size. Once the transition to the new API is completed (when we can remove the buffering of session arguments from the 'Connection' objects), we may revert this change. Issue #2120
This commit is contained in:
parent
ac1794ed7d
commit
7fba39831a
@ -131,7 +131,6 @@ namespace Platform {
|
||||
|
||||
Genode::Rpc_entrypoint *_ep;
|
||||
Genode::Allocator_guard _md_alloc;
|
||||
Genode::Tslab<Device_component, 4096 - 64> _device_slab;
|
||||
Genode::List<Device_component> _device_list;
|
||||
Genode::Rpc_entrypoint &_device_pd_ep;
|
||||
|
||||
@ -501,7 +500,6 @@ namespace Platform {
|
||||
:
|
||||
_ep(ep),
|
||||
_md_alloc(md_alloc, Genode::Arg_string::find_arg(args, "ram_quota").long_value(0)),
|
||||
_device_slab(&_md_alloc),
|
||||
_device_pd_ep(device_pd_ep),
|
||||
_resources(_md_alloc),
|
||||
_label(Genode::label_from_args(args)),
|
||||
@ -717,7 +715,7 @@ namespace Platform {
|
||||
* device and return its capability.
|
||||
*/
|
||||
try {
|
||||
Device_component * dev = new (_device_slab)
|
||||
Device_component * dev = new (_md_alloc)
|
||||
Device_component(config, config_space, _ep, this,
|
||||
&_md_alloc);
|
||||
|
||||
@ -773,7 +771,7 @@ namespace Platform {
|
||||
if (!device) return;
|
||||
|
||||
if (device->config().valid())
|
||||
destroy(_device_slab, device);
|
||||
destroy(_md_alloc, device);
|
||||
else
|
||||
destroy(_md_alloc, device);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user