Skip to content
Snippets Groups Projects

Performance tune

Merged Recolic requested to merge performance-tune into pa2
1 file
+ 2
2
Compare changes
  • Side-by-side
  • Inline
  • 1917749b
    U201614531
    recolic
    Linux RECOLICPC 5.4.6-arch3-1 #1 SMP PREEMPT Tue, 24 Dec 2019 04:36:53 +0000 x86_64 GNU/Linux
     21:40:47 up 2 days,  3:14,  1 user,  load average: 1.46, 1.21, 1.21
    99c5fc3af793f6de570abffbfc804632e49f21b
+ 2
2
@@ -15,7 +15,7 @@ uint8_t pmem[PMEM_SIZE];
@@ -15,7 +15,7 @@ uint8_t pmem[PMEM_SIZE];
__attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
__attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
static const uint32_t niddle[] = {0, 0xff, 0xffff, 0xffffff, 0xffffffff};
static const uint32_t niddle[] = {0, 0xff, 0xffff, 0xffffff, 0xffffffff};
if(const auto mmio_id = is_mmio(addr);(-1 == mmio_id)) {
if(const auto mmio_id = is_mmio(addr); RLIB_MACRO_LIKELY(-1 == mmio_id)) {
return pmem_rw(addr, uint32_t) & niddle[len];
return pmem_rw(addr, uint32_t) & niddle[len];
}
}
else {
else {
@@ -24,7 +24,7 @@ __attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
@@ -24,7 +24,7 @@ __attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
}
}
void paddr_write(paddr_t addr, uint32_t data, int len) {
void paddr_write(paddr_t addr, uint32_t data, int len) {
if(const auto mmio_id = is_mmio(addr);(-1 == mmio_id)) {
if(const auto mmio_id = is_mmio(addr); RLIB_MACRO_LIKELY(-1 == mmio_id)) {
memcpy(guest_to_host(addr), &data, len);
memcpy(guest_to_host(addr), &data, len);
}
}
else {
else {
Loading