From b47599d216647e156157a97562248ade846f1eef Mon Sep 17 00:00:00 2001 From: arvidn Date: Wed, 17 Feb 2016 19:11:28 -0800 Subject: [PATCH] fix aafigure diagram --- docs/makefile | 2 +- docs/read_disk_buffers.png | Bin 4700 -> 3444 bytes docs/storage.png | Bin 6700 -> 4773 bytes docs/write_disk_buffers.diagram | 24 ++++++++++++------------ docs/write_disk_buffers.png | Bin 4784 -> 3127 bytes 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/makefile b/docs/makefile index 2ae0cfbe4..ea696ab49 100644 --- a/docs/makefile +++ b/docs/makefile @@ -114,7 +114,7 @@ ifneq ($(STAGE),) endif %.png:%.diagram - aafigure -o $@ $? + aafigure --scale 0.6 -o $@ $? ifneq ($(STAGE),) cp $@ $(WEB_PATH)/$@ endif diff --git a/docs/read_disk_buffers.png b/docs/read_disk_buffers.png index 80862a514da1087fa45ff5114c68ee103db9c683..2c7edeee2a0d14831ae3ba5ecbaf31c3e948c3bf 100644 GIT binary patch literal 3444 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 literal 4700 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 diff --git a/docs/storage.png b/docs/storage.png index e4207ef3774789cd6262c9dfdacda1629b9f9339..14f79370a45e15d0a1fcdbc2e54a3fc9e65d30ea 100644 GIT binary patch literal 4773 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 literal 6700 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 Qngomt%#IZvb^PJK0DShlQ2+n{ diff --git a/docs/write_disk_buffers.diagram b/docs/write_disk_buffers.diagram index 4f2326ef8..24a3aa7cc 100644 --- a/docs/write_disk_buffers.diagram +++ b/docs/write_disk_buffers.diagram @@ -1,15 +1,15 @@ - decrypt in place move buffer ref. -+----------------+ (no copy) +------------+ (no copy) +------------+ -| receive buffer +--=-------------->| plain text +--=--------------->| disk cache | -+----------------+ | buffer | +------+-----+ - ^ +------------+ | - | read() on socket write() to file | - | (copy) (copy) | + "decrypt in place" "move buffer ref." ++------------------+ "(no copy)" +--------------+ "(no copy)" +--------------+ +| "receive buffer" +--=------------>| "plain text" +--=------------->| "disk cache" | ++------------------+ | "buffer" | +------+-------+ + ^ +--------------+ | + | "read() on socket" "write() to file" | + | "(copy)" "(copy)" | ---=----|---------------------------------=---------------------------------|--=---- - | kernel space | + | "kernel space" | | v -+-------+--------+ +-------------------+ -| socket kernel | | kernel page cache | -| buffer | | | -+----------------+ +-------------------+ ++-------+---------+ +---------------------+ +| "socket kernel" | | "kernel page cache" | +| "buffer" | | | ++-----------------+ +---------------------+ diff --git a/docs/write_disk_buffers.png b/docs/write_disk_buffers.png index ccaf85a2a47a23da0a8e795bfbf62e13001997f9..92d1e3a6bb09cabfb89aa9cb04588986e1b3521e 100644 GIT binary patch literal 3127 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 KU2c5&_J0C{cF?K-