chiark / gitweb /
bus: bump memfd vs. copy limit to 512k to reflect recent benchmarks
authorKay Sievers <kay@vrfy.org>
Fri, 24 Jan 2014 20:15:34 +0000 (21:15 +0100)
committerKay Sievers <kay@vrfy.org>
Fri, 24 Jan 2014 20:16:37 +0000 (21:16 +0100)
src/libsystemd/sd-bus/PORTING-DBUS1
src/libsystemd/sd-bus/bus-kernel.h

index 67af27772eec49dcb893aacf143583fdf33b76bb..57339ee268ca6726f77684de4d6b326a9c35a191 100644 (file)
@@ -172,15 +172,15 @@ which items are contained in the message is left untouched.
 PAYLOAD_MEMFD items allow zero-copy data transfer (see below regarding
 the memfd concept). Note however that the overhead of mapping these
 makes them relatively expensive, and only worth the trouble for memory
-blocks > 128K (this value appears to be quite universal across
+blocks > 512K (this value appears to be quite universal across
 architectures, as we tested). Thus we recommend sending PAYLOAD_VEC
 items over for small messages and restore to PAYLOAD_MEMFD items for
-messages > 128K. Since while building up the message you might not
+messages > 512K. Since while building up the message you might not
 know yet whether it will grow beyond this boundary a good approach is
 to simply build the message unconditionally in a memfd
 object. However, when the message is sealed to be sent away check for
-the size limit. If the size of the message is < 128K, then simply send
-the data as PAYLOAD_VEC and reuse the memfd. If it is >= 128K, seal
+the size limit. If the size of the message is < 512K, then simply send
+the data as PAYLOAD_VEC and reuse the memfd. If it is >= 512K, seal
 the memfd and send it as PAYLOAD_MEMFD, and allocate a new memfd for
 the next message.
 
index 63df63e4baa9833febd91229ad1bc9a597436c6d..e9f776d9fdf90f1ae78815802f5cf6ff03e3566d 100644 (file)
@@ -44,7 +44,7 @@
 
 /* This determines at which minimum size we prefer sending memfds over
  * sending vectors */
-#define MEMFD_MIN_SIZE (128*1024)
+#define MEMFD_MIN_SIZE (512*1024)
 
 /* The size of the per-connection memory pool that we set up and where
  * the kernel places our incoming messages */