From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=RDKfMxpLhNL0QlTsJRPkzbbbBrn/BibblZNl5zjRRME=; b=O+MpAGXqXWQkUVS3QwKuaT+as0W0FRj7tOKdAIVNjgqmsLPS9llMLIsBsss9caXii2 +zyuBYLgUaSmu88LuVXzwwlAlVEJ4F4Fz/5K+FF/dBtymNz3S4RaignRFDAYBhlgJ5K0 Je0M4UrBH9AWQfwmKYlWGDKd6WXzEIga/NEdBRnA/JPcbgdhYmXGWQm9rzjlDNKhn7qD hjz1PWkVkKy2U7Qvv4ccpHBByz2TzA1Lyx8JXcwamOsaP3UJs/xMpj2rMOfagvc6seWz nugZhowfmWo65BjFtoksGLEQn2JbpviyxlAOd08FgDRfkH26bsAPUhSsyjANCZVdge4u Y6RQ== From: Akira Yokosawa Subject: [PATCH -perfbook] defer: Retouch SVG files for browser compatibility (2nd attempt) Message-ID: Date: Fri, 31 Dec 2021 11:29:21 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit To: "Paul E. McKenney" Cc: perfbook@vger.kernel.org, Akira Yokosawa List-ID: In elements which are misplaced when viewed in a browser, there are "transform" directives of the form: transform="scale(-1)" (indicating rotation of 180 degrees), and attributes of: writing-mode:tb-rl (top to bottom, right to left: Normally used in vertical text in Asian languages. "lr-tb" is the normal choice in English.) By manually removing those transform directives and replacing "tb-rl" with "lr-tb" by a text editor; then ungrouping, rotating, and moving those text elements by Inkscape 1.1.1; browser-compatible SVGs have been obtained. Regrouping of edited text elements have been done as a final stage. Signed-off-by: Akira Yokosawa --- Hi Paul, I've not figured out what operations corrupted those text elements in RCUspacetime.svg. So take this fix as a "happens to work" kind of thing. Do you have any clue as to why those text elements have 180 degree rotation and vertical writing mode? I guess you copied such a text element to RCUusecases.svg and edited and copied it in Inkscape. So I suspect RCUusecases.svg was corrupted from the very beginning. After this update, you should be able to edit both SVGs by Inkscape as you'd like, I suppose. Thanks, Akira -- defer/RCUspacetime.svg | 88 +++-- defer/RCUusecases.svg | 707 ++++++++++++++++++++--------------------- 2 files changed, 378 insertions(+), 417 deletions(-) diff --git a/defer/RCUspacetime.svg b/defer/RCUspacetime.svg index bebd4dc1..587b150f 100644 --- a/defer/RCUspacetime.svg +++ b/defer/RCUspacetime.svg @@ -7,7 +7,7 @@ viewBox="0 0 262.95599 138.7054" version="1.1" id="svg8" - inkscape:version="1.1 (c68e22c387, 2021-05-23)" + inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)" sodipodi:docname="RCUspacetime.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -327,9 +327,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.6285163" - inkscape:cx="210.92819" - inkscape:cy="261.89483" + inkscape:zoom="1.1515349" + inkscape:cx="250.10097" + inkscape:cy="375.15145" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="true" @@ -337,8 +337,8 @@ fit-margin-left="5" fit-margin-right="5" fit-margin-bottom="5" - inkscape:window-width="1920" - inkscape:window-height="1003" + inkscape:window-width="1366" + inkscape:window-height="701" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" @@ -714,55 +714,51 @@ Readers - - Grace - Period - + x="-97.617546" + y="84.924591" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#5a5aff;fill-opacity:1;stroke-width:0.264583">Readers + Grace + Period Readers + x="-150.61545" + y="86.660011" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#007b00;fill-opacity:1;stroke-width:0.264583">Readers + id="g706"> + transform="translate(12.124174,7.4870758)"> Publish/Subscribe + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> rcu_assign_pointer() & For Linked Structure + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke-width:0.264583" + x="86.656998" + y="91.914223">For Linked Structure rcu_dereference() + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.264583" + x="84.424561" + y="107.8372">rcu_dereference() + id="g744"> + x="159.01459" + y="111.758" /> + transform="translate(93.397929,39.158352)"> Wait for Pre-Existing Things to Finish + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> rcu_read_unlock() vs. synchronize_rcu() + id="g727"> + transform="translate(106.41554,7.1437809)"> Phased State Change + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> + Checked state variable - - + + + id="g716"> + transform="translate(61.700931,7.6729506)"> Add-Only + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> List + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke-width:0.264583" + x="145.24387" + y="92.178818">List + id="g689"> + transform="translate(43.180076,-25.664579)"> Type-Safe Memory + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> + Deferred slab reclamation + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke-width:0.264583" + x="112.6164" + y="68.943436">+ Deferred slab reclamation + Slab allocator + id="g676"> + transform="translate(127.05311,-36.77709)"> Existence Guarantee + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> + Linked structure + Deferred reclamation + x="202.31015" + y="68.943436">+ Deferred reclamation + Heap allocator @@ -1159,64 +1141,57 @@ id="path4922-0-2-7-4-2-2" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> + - - - Delete-Only List - - + id="g31594-5-26-8-3" + transform="translate(139.01515,-67.003528)"> - Publish/subscribe - + id="tspan31224-0-3-0">Delete-Only List + + - Publish/subscribe + + id="g661"> + transform="translate(29.510567,-58.39913)"> Light-Weight Garbage Collector for + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> + NBS + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke-width:0.264583" + x="103.88512" + y="37.457993">+ NBS Non-Blocking Synchronization (NBS) @@ -1305,80 +1276,78 @@ inkscape:connector-curvature="0" sodipodi:nodetypes="ccc" /> + id="g648"> + Readers include some sort of snapshot operation + x="114.28486" + y="-26.537483">+ Readers include some sort of snapshot operation Quasi Multi-Version Consistency Control + Constraints on readers and writers: + x="114.28486" + y="-21.074738">+ Constraints on readers and writers: + (1) single object, (2) sequence locks, (3) version number(s), + (4) Issaquah challenge, and/or (5) many other approaches @@ -1389,56 +1358,54 @@ inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> + id="g632"> + Readers as individual or bulk unconditional references + x="114.28486" + y="-61.462452">+ Readers as individual or bulk unconditional references Quasi Reference Count + Optional bridging to per-object lock or reference + x="114.28486" + y="-55.999706">+ Optional bridging to per-object lock or reference + id="g622"> + Readers as read-held reader-writer lock + x="114.28486" + y="-111.99813">+ Readers as read-held reader-writer lock Quasi Reader-Writer Lock + Spatial as well as temporal synchronization + x="114.28486" + y="-106.53539">+ Spatial as well as temporal synchronization + Optional read-to-write upgrade + x="114.28486" + y="-101.50817">+ Optional read-to-write upgrade + Optional bridging to per-object lock or reference + x="114.28486" + y="-96.480614">+ Optional bridging to per-object lock or reference + Optionally ignore deleted objects + x="114.28486" + y="-90.923393">+ Optionally ignore deleted objects