mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
Removed false-sharing on cacheline holding a cell's yield flag.
This commit is contained in:
@@ -219,7 +219,7 @@ namespace Tukija {
|
||||
*/
|
||||
struct Worker {
|
||||
unsigned long yield_flag{0}; /* This flag will be set if a yield request has been filed */
|
||||
unsigned long padding[3];
|
||||
unsigned long padding[7];
|
||||
};
|
||||
|
||||
|
||||
@@ -329,7 +329,7 @@ namespace Tukija {
|
||||
static Cip *
|
||||
cip()
|
||||
{
|
||||
return reinterpret_cast<Cip *>(0x7fffbffd7000);
|
||||
return reinterpret_cast<Cip *>(0x7fffbffd3000);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1087,7 +1087,7 @@ namespace Tukija {
|
||||
|
||||
public:
|
||||
|
||||
enum { DEFAULT_QUANTUM = 1000, DEFAULT_PRIORITY = 64 };
|
||||
enum { DEFAULT_QUANTUM = 1500, DEFAULT_PRIORITY = 64 };
|
||||
|
||||
Qpd(mword_t quantum = DEFAULT_QUANTUM,
|
||||
mword_t priority = DEFAULT_PRIORITY)
|
||||
|
||||
@@ -91,7 +91,7 @@ class Ealan::Cell_component : public Genode::Rpc_object<Cell>,
|
||||
* Only a region map needs to be allocated here, because the kernel will already
|
||||
* allocate a frame for this cell CIP during the syscall.
|
||||
*/
|
||||
Core::platform().region_alloc().alloc_aligned(4 * Tukija::PAGE_SIZE_BYTE, Tukija::PAGE_SIZE_LOG2).with_result(
|
||||
Core::platform().region_alloc().alloc_aligned(8 * Tukija::PAGE_SIZE_BYTE, Tukija::PAGE_SIZE_LOG2).with_result(
|
||||
[&](void *ptr) { _cip = static_cast<Tukija::Cip*>(ptr); },
|
||||
[&](Genode::Range_allocator::Alloc_error) { throw Genode::Out_of_ram(); });
|
||||
|
||||
|
||||
@@ -432,7 +432,7 @@ Core::Platform::Platform()
|
||||
region_alloc().remove_range((addr_t)_tip, get_page_size() * 128);
|
||||
|
||||
/* exclude CIP */
|
||||
region_alloc().remove_range((addr_t)Tukija::Cip::cip(), get_page_size() * 4);
|
||||
region_alloc().remove_range((addr_t)Tukija::Cip::cip(), get_page_size() * 8);
|
||||
|
||||
/* sanity checks */
|
||||
addr_t check [] = {
|
||||
|
||||
Reference in New Issue
Block a user