Index: kernel/generic/src/console/console.c
===================================================================
--- kernel/generic/src/console/console.c	(revision e32e092d6f8bed442ecc81b18af9ef323bc4e650)
+++ kernel/generic/src/console/console.c	(revision c05a50f0decf2abb14cd4d0101cd06a0477db5c2)
@@ -50,4 +50,5 @@
 
 #define KLOG_SIZE PAGE_SIZE
+#define KLOG_LATENCY 8
 
 /**< Kernel log cyclic buffer */
@@ -276,7 +277,15 @@
 		klog_uspace++;
 	
+	/* Check notify uspace to update */
+	bool update;
+	if ((klog_uspace > KLOG_LATENCY) || (c == '\n'))
+		update = true;
+	else
+		update = false;
+	
 	spinlock_unlock(&klog_lock);
 	
-	klog_update();
+	if (update)
+		klog_update();
 }
 
Index: kernel/generic/src/syscall/syscall.c
===================================================================
--- kernel/generic/src/syscall/syscall.c	(revision e32e092d6f8bed442ecc81b18af9ef323bc4e650)
+++ kernel/generic/src/syscall/syscall.c	(revision c05a50f0decf2abb14cd4d0101cd06a0477db5c2)
@@ -58,5 +58,5 @@
  *
  */
-static unative_t sys_io(int fd, const void * buf, size_t count) 
+static unative_t sys_klog(int fd, const void * buf, size_t count) 
 {
 	size_t i;
@@ -115,5 +115,5 @@
 
 syshandler_t syscall_table[SYSCALL_END] = {
-	(syshandler_t) sys_io,
+	(syshandler_t) sys_klog,
 	(syshandler_t) sys_tls_set,
 	
