]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
No page flush before polling
authorMaria Matejka <mq@ucw.cz>
Tue, 18 Jun 2024 09:02:51 +0000 (11:02 +0200)
committerMaria Matejka <mq@ucw.cz>
Tue, 18 Jun 2024 09:02:51 +0000 (11:02 +0200)
The maximum amount of locally kept pages is 128 so we can just
well keep the half-meg of RAM allocated and prepared for future use.

sysdep/unix/io-loop.c

index 49e9f2db14a8af09934e0799e8463292f67110b9..b69adc7ec5f20b42e04ba2d599a5f2dc019d5a29 100644 (file)
@@ -879,16 +879,13 @@ bird_thread_main(void *arg)
     int idle_force = (timeout < 0) || (timeout > 300);
     int busy_now = (timeout < 5) && !idle_force;
 
-    /* Nothing to do right now, flush local hot page cache */
+    /* Nothing to do right now but there may be some loops for pickup */
     if (idle_force)
     {
       LOCK_DOMAIN(attrs, thr->group->domain);
       if (!EMPTY_LIST(thr->group->loops))
        timeout = 0;
       UNLOCK_DOMAIN(attrs, thr->group->domain);
-
-      if (timeout)
-       flush_local_pages();
     }
 
     if (busy_now && !thr->busy_active && (++thr->busy_counter == 4))