The previous limit was 256 bytes.  That seems a little crummy by
todays standards, and we are frequently sending bigger packets
(e.g. every RPC containing a string_t on Hurd).

Use the page size for IKM_SAVED_KMSG_SIZE to make sure the page is
pinned to a single processor.

* ipc/ipc_kmsg.h (IKM_SAVED_KMSG_SIZE): Define to `PAGE_SIZE'.
---
 ipc/ipc_kmsg.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ipc/ipc_kmsg.h b/ipc/ipc_kmsg.h
index 07695fb..f06857a 100644
--- a/ipc/ipc_kmsg.h
+++ b/ipc/ipc_kmsg.h
@@ -92,9 +92,12 @@ extern ipc_kmsg_t    ipc_kmsg_cache[NCPUS];
 /*
  *     The size of the kernel message buffers that will be cached.
  *     IKM_SAVED_KMSG_SIZE includes overhead; IKM_SAVED_MSG_SIZE doesn't.
+ *
+ *     We use the page size for IKM_SAVED_KMSG_SIZE to make sure the
+ *     page is pinned to a single processor.
  */
 
-#define        IKM_SAVED_KMSG_SIZE     ((vm_size_t) 256)
+#define        IKM_SAVED_KMSG_SIZE     PAGE_SIZE
 #define        IKM_SAVED_MSG_SIZE      ikm_less_overhead(IKM_SAVED_KMSG_SIZE)
 
 #define        ikm_alloc(size)                                                 
\
-- 
2.1.3


Reply via email to