linux/drivers/block/drbd
Lars Ellenberg c13f7e1a94 drbd: don't recvmsg with zero length
This should fix a performance degradation we observed recently.

If we don't expect any subheader, we should not call into the tcp stack,
as that may add considerable latency if there is no data available at
this point.

For a synthetic synchronous write load with single outstanding writes,
this additional latency when processing the "unplug remote" packet
added up to a performance degradation factor >= 10.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2010-11-27 19:50:43 +01:00
..
Kconfig drbd: Kconfig fix 2009-12-29 17:38:28 +01:00
Makefile drbd: remove tracing bits 2009-10-01 21:17:58 +02:00
drbd_actlog.c drbd: REQ_HARDBARRIER -> REQ_FUA transition for meta data accesses 2010-10-23 13:01:45 +02:00
drbd_bitmap.c drbd: Disable activity log updates when the whole device is out of sync 2010-10-14 18:38:26 +02:00
drbd_int.h Merge branch 'for-2.6.37/drivers' into for-linus 2010-11-10 14:51:27 +01:00
drbd_main.c Merge branch 'for-2.6.37/drivers' into for-linus 2010-11-10 14:51:27 +01:00
drbd_nl.c drbd: REQ_HARDBARRIER -> REQ_FUA transition for meta data accesses 2010-10-23 13:01:45 +02:00
drbd_proc.c drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code 2010-10-23 13:00:48 +02:00
drbd_receiver.c drbd: don't recvmsg with zero length 2010-11-27 19:50:43 +01:00
drbd_req.c drbd: Removed checks for REQ_HARDBARRIER on incomming BIOs 2010-10-23 13:02:34 +02:00
drbd_req.h drbd: Disable activity log updates when the whole device is out of sync 2010-10-14 18:38:26 +02:00
drbd_strings.c drbd: don't start a resync without access to up-to-date Data 2010-05-18 01:08:18 +02:00
drbd_vli.h
drbd_worker.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
drbd_wrappers.h drbd: Allow drbd_epoch_entries to use multiple bios. 2010-05-18 02:01:23 +02:00