All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFT GIT PULL] Makefile: Add ".fig -> .eps" rule
@ 2016-08-11 15:14 Akira Yokosawa
  2016-08-11 17:54 ` Paul E. McKenney
  0 siblings, 1 reply; 9+ messages in thread
From: Akira Yokosawa @ 2016-08-11 15:14 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Hi Paul,

As I said the other day, I added a rule for ".fig -> .eps" in Makefile and
evaluate the increase in time of the first build (or builds after
"make neatfreak").

To reduce the build time, 2nd patch moves several currently unused ".fig" files
to ".unused" sub-directories.
3rd patch removes ".eps" files in the repository whose sources are ".fig" files.
4th patch updates ".gitignore"s to reflect the removed files.
5th patch updates FAQ-BUILD.txt to notify people that we now need the "fig2ps"
package for "fig2eps" command on Ubuntu.

The result of the evaluation is as follows.
Time is measured by "time" command such as "$ make neatfreak; time make -j4"
on a virtual machine with 4 cpus. The "real" times are collected from the output.
The value in each cell is the simple average of 4 samples.

             |before (sec)| after (sec)|            | 
no of thread | (1a508f6a) | (641b6a55) | diff (sec) | diff (%)
       1     |     141.8  |     153.5  |      11.7  |     8.3
       2     |      83.8  |      89.9  |       6.1  |     7.3
       3     |      64.7  |      68.8  |       4.1  |     6.3
       4     |      55.7  |      59.0  |       3.3  |     5.9

As you may see, the time increase would be almost unnoticeable if you are
building with more than -j4.

Of course, modification of Makefile needs to be fully tested before merging. 
I've tested myself doing the above evaluation.

If you are satisfied with the change, please consider merging.

                                               Thanks, Akira

-----
The following changes since commit 1a508f6ad8b6d4e722c8511c459ae7ae9d2591b5:

  Get .gitignore in right place for hash-table code (2016-08-10 16:14:18 -0700)

are available in the git repository at:

  https://github.com/akiyks/perfbook.git makefile-add-fig-eps-rule

for you to fetch changes up to 641b6a5541323d737b1e2ca31e9a805da19514f1:

  FAQ-BUILD.txt: Add 'fig2ps' as necessary package on Ubuntu (2016-08-11 22:50:02 +0900)

----------------------------------------------------------------
Akira Yokosawa (5):
      Makefile: Add .fig -> .eps rule
      Move unused .fig and .eps files to .unused directory
      Remove .eps files whose sources are .fig files
      Update and create .gitignore files
      FAQ-BUILD.txt: Add 'fig2ps' as necessary package on Ubuntu

 FAQ-BUILD.txt                                      |    2 +-
 Makefile                                           |   18 +-
 SMPdesign/.gitignore                               |   10 +
 SMPdesign/AllocatorPool.eps                        |  287 --
 SMPdesign/LockGranularity.eps                      |  243 --
 SMPdesign/MazeNumberPath.eps                       |  157 -
 SMPdesign/MemoryBarrierPairing.eps                 |  218 --
 SMPdesign/ParallelFastpath.eps                     |  213 -
 SMPdesign/allocatorcache.eps                       |  225 --
 SMPdesign/lockdeqhash.eps                          |  218 --
 SMPdesign/lockdeqhash1R.eps                        |  784 ----
 SMPdesign/lockdeqhashlots.eps                      |  479 ---
 SMPdesign/lockdeqpair.eps                          |  177 -
 advsync/.gitignore                                 |   22 +
 advsync/.unused/MoreThanOneValue-15CPU-noresp.eps  | 1306 -------
 advsync/AbstractMemoryAccessModel.eps              |  191 -
 advsync/DataDependencyNeeded.eps                   |  775 ----
 advsync/DataDependencySupplied.eps                 |  738 ----
 advsync/MemoryArchitecture.eps                     |  327 --
 advsync/MemoryBarrierPairing.eps                   |  221 --
 advsync/MoreThanOneValue-15CPU.eps                 | 1306 -------
 advsync/MoreThanOneValue.eps                       |  200 -
 advsync/RCU-API.eps                                |  200 -
 advsync/RCUDeletion.eps                            |  253 --
 advsync/RCUInsertion.eps                           |  210 -
 advsync/RCUReaderGP.eps                            |  181 -
 advsync/RCUReaderGPExtends.eps                     |  199 -
 advsync/RCUReplacement.eps                         |  414 --
 advsync/ReadBarrierNeeded.eps                      |  673 ----
 advsync/ReadBarrierSupplied.eps                    |  693 ----
 advsync/ReadBarrierSupplied1.eps                   |  722 ----
 advsync/ReadBarrierSupplied2.eps                   |  699 ----
 advsync/SpeculativeLoad.eps                        |  603 ---
 advsync/SpeculativeLoadBarrier.eps                 |  595 ---
 advsync/SpeculativeLoadBarrierCancel.eps           |  633 ---
 advsync/SplitCache.eps                             |  250 --
 advsync/WriteBarrierOrdering.eps                   |  613 ---
 appendix/questions/.gitignore                      |    1 +
 appendix/questions/after.eps                       |  170 -
 appendix/rcuhist/{ => .unused}/linux-RCU.eps       |    0
 appendix/rcuhist/{ => .unused}/linux-RCUlock.eps   |    0
 appendix/rcuhist/{ => .unused}/rcuAPI.eps          |    0
 .../rcuimpl/{ => .unused}/AdvanceRCUCallbacks.fig  |    0
 .../rcuimpl/{ => .unused}/BigTreeClassicRCU.fig    |    0
 .../rcuimpl/{ => .unused}/BigTreeClassicRCUBH.fig  |    0
 .../{ => .unused}/BigTreeClassicRCUBHdyntick.fig   |    0
 appendix/rcuimpl/{ => .unused}/FlatClassicRCU.fig  |    0
 .../{ => .unused}/GenericRCUStateMachine.fig       |    0
 appendix/rcuimpl/{ => .unused}/GracePeriodBad.fig  |    0
 appendix/rcuimpl/{ => .unused}/RCUTreeInit.fig     |    0
 appendix/rcuimpl/{ => .unused}/RCUTreeLeafScan.fig |    0
 appendix/rcuimpl/{ => .unused}/RCUTreeQSScan.fig   |    0
 appendix/rcuimpl/{ => .unused}/RCUbweBlock.fig     |    0
 .../{ => .unused}/RCUpreemptCounterFlip.fig        |    0
 appendix/rcuimpl/{ => .unused}/RCUpreemptLists.fig |    0
 .../{ => .unused}/RCUpreemptListsCompare.fig       |    0
 .../rcuimpl/{ => .unused}/RCUpreemptStates.fig     |    0
 .../rcuimpl/{ => .unused}/RCUpreemptTimeline.fig   |    0
 .../rcuimpl/{ => .unused}/RCUpreemptValidation.fig |    0
 appendix/rcuimpl/{ => .unused}/RCUrt-MBnowaste.fig |    0
 appendix/rcuimpl/{ => .unused}/RCUrt-MBwaste.fig   |    0
 .../rcuimpl/{ => .unused}/TinyRCUCallbacks.fig     |    0
 appendix/rcuimpl/{ => .unused}/TreeClassicRCU.fig  |    0
 .../rcuimpl/{ => .unused}/TreeClassicRCUGP.fig     |    0
 appendix/rcuimpl/{ => .unused}/TreeMapping.fig     |    0
 .../rcuimpl/{ => .unused}/TreeRCUStateMachine.fig  |    0
 appendix/rcuimpl/{ => .unused}/srcuds.fig          |    0
 appendix/rcuimpl/AdvanceRCUCallbacks.eps           |  316 --
 appendix/rcuimpl/BigTreeClassicRCU.eps             |  286 --
 appendix/rcuimpl/BigTreeClassicRCUBH.eps           |  305 --
 appendix/rcuimpl/BigTreeClassicRCUBHdyntick.eps    |  462 ---
 appendix/rcuimpl/FlatClassicRCU.eps                |  254 --
 appendix/rcuimpl/GenericRCUStateMachine.eps        |  514 ---
 appendix/rcuimpl/GracePeriodBad.eps                |  194 -
 appendix/rcuimpl/RCUTreeInit.eps                   |  490 ---
 appendix/rcuimpl/RCUTreeLeafScan.eps               |  504 ---
 appendix/rcuimpl/RCUTreeQSScan.eps                 |  504 ---
 appendix/rcuimpl/RCUbweBlock.eps                   |  575 ---
 appendix/rcuimpl/RCUpreemptCounterFlip.eps         |  291 --
 appendix/rcuimpl/RCUpreemptLists.eps               |  220 --
 appendix/rcuimpl/RCUpreemptListsCompare.eps        |  311 --
 appendix/rcuimpl/RCUpreemptStates.eps              | 4120 --------------------
 appendix/rcuimpl/RCUpreemptTimeline.eps            |  351 --
 appendix/rcuimpl/RCUpreemptValidation.eps          |  696 ----
 appendix/rcuimpl/RCUrt-MBnowaste.eps               |  273 --
 appendix/rcuimpl/RCUrt-MBwaste.eps                 |  345 --
 appendix/rcuimpl/TinyRCUCallbacks.eps              |  233 --
 appendix/rcuimpl/TreeClassicRCU.eps                |  288 --
 appendix/rcuimpl/TreeClassicRCUGP.eps              |  730 ----
 appendix/rcuimpl/TreeMapping.eps                   |  219 --
 appendix/rcuimpl/TreeRCUStateMachine.eps           |  358 --
 appendix/rcuimpl/srcuds.eps                        |  268 --
 appendix/whymb/.gitignore                          |    7 +
 appendix/whymb/MESI.eps                            |  293 --
 appendix/whymb/cacheSB.eps                         |  216 -
 appendix/whymb/cacheSBf.eps                        |  247 --
 appendix/whymb/cacheSBfIQ.eps                      |  271 --
 appendix/whymb/cacheSC.eps                         |  150 -
 appendix/whymb/cacheSCwrite.eps                    |  170 -
 appendix/whymb/hostileordering.eps                 |  243 --
 count/.gitignore                                   |    5 +
 count/GlobalInc.eps                                |  429 --
 count/GlobalTreeInc.eps                            |  501 ---
 count/PerThreadInc.eps                             |  421 --
 count/count_lim.eps                                |  177 -
 count/globbal.eps                                  |  331 --
 cpu/.gitignore                                     |    2 +
 cpu/3DI.eps                                        |  193 -
 cpu/SystemArch.eps                                 |  395 --
 datastruct/.gitignore                              |    1 +
 datastruct/hashdiagram.eps                         |  301 --
 defer/.gitignore                                   |   10 +
 defer/GracePeriodGood.eps                          |  210 -
 defer/Linux_hlist.eps                              |  208 -
 defer/Linux_list.eps                               |  241 --
 defer/Linux_list_abbr.eps                          |  139 -
 defer/QSBRGracePeriod.eps                          |  255 --
 defer/RCUDeletion.eps                              |  253 --
 defer/RCUListDeleteClassic.eps                     |  328 --
 defer/RCUReplacement.eps                           |  470 ---
 defer/RCUenvAPI.eps                                |  214 -
 defer/rwlockRCUupdate.eps                          |  264 --
 formal/.gitignore                                  |    1 +
 formal/RCUpreemptStates.eps                        | 4120 --------------------
 intro/.gitignore                                   |    4 +
 intro/FourTaskCategories.eps                       |  261 --
 intro/FourTaskOrder.eps                            |  321 --
 intro/Generality.eps                               |  386 --
 intro/PPGrelation.eps                              |  165 -
 locking/.gitignore                                 |    5 +
 locking/DeadlockCycle.eps                          |  227 --
 locking/LayeredLockHierarchy.eps                   |  222 --
 locking/LocalLockHierarchy.eps                     |  221 --
 locking/NonLocalLockHierarchy.eps                  |  221 --
 locking/rnplock.eps                                |  305 --
 toolsoftrade/.gitignore                            |    1 +
 toolsoftrade/shellparallel.eps                     |  210 -
 137 files changed, 84 insertions(+), 41864 deletions(-)
 delete mode 100644 SMPdesign/AllocatorPool.eps
 delete mode 100644 SMPdesign/LockGranularity.eps
 delete mode 100644 SMPdesign/MazeNumberPath.eps
 delete mode 100644 SMPdesign/MemoryBarrierPairing.eps
 delete mode 100644 SMPdesign/ParallelFastpath.eps
 delete mode 100644 SMPdesign/allocatorcache.eps
 delete mode 100644 SMPdesign/lockdeqhash.eps
 delete mode 100644 SMPdesign/lockdeqhash1R.eps
 delete mode 100644 SMPdesign/lockdeqhashlots.eps
 delete mode 100644 SMPdesign/lockdeqpair.eps
 delete mode 100644 advsync/.unused/MoreThanOneValue-15CPU-noresp.eps
 delete mode 100644 advsync/AbstractMemoryAccessModel.eps
 delete mode 100644 advsync/DataDependencyNeeded.eps
 delete mode 100644 advsync/DataDependencySupplied.eps
 delete mode 100644 advsync/MemoryArchitecture.eps
 delete mode 100644 advsync/MemoryBarrierPairing.eps
 delete mode 100644 advsync/MoreThanOneValue-15CPU.eps
 delete mode 100644 advsync/MoreThanOneValue.eps
 delete mode 100644 advsync/RCU-API.eps
 delete mode 100644 advsync/RCUDeletion.eps
 delete mode 100644 advsync/RCUInsertion.eps
 delete mode 100644 advsync/RCUReaderGP.eps
 delete mode 100644 advsync/RCUReaderGPExtends.eps
 delete mode 100644 advsync/RCUReplacement.eps
 delete mode 100644 advsync/ReadBarrierNeeded.eps
 delete mode 100644 advsync/ReadBarrierSupplied.eps
 delete mode 100644 advsync/ReadBarrierSupplied1.eps
 delete mode 100644 advsync/ReadBarrierSupplied2.eps
 delete mode 100644 advsync/SpeculativeLoad.eps
 delete mode 100644 advsync/SpeculativeLoadBarrier.eps
 delete mode 100644 advsync/SpeculativeLoadBarrierCancel.eps
 delete mode 100644 advsync/SplitCache.eps
 delete mode 100644 advsync/WriteBarrierOrdering.eps
 create mode 100644 appendix/questions/.gitignore
 delete mode 100644 appendix/questions/after.eps
 rename appendix/rcuhist/{ => .unused}/linux-RCU.eps (100%)
 rename appendix/rcuhist/{ => .unused}/linux-RCUlock.eps (100%)
 rename appendix/rcuhist/{ => .unused}/rcuAPI.eps (100%)
 rename appendix/rcuimpl/{ => .unused}/AdvanceRCUCallbacks.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/BigTreeClassicRCU.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/BigTreeClassicRCUBH.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/BigTreeClassicRCUBHdyntick.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/FlatClassicRCU.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/GenericRCUStateMachine.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/GracePeriodBad.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUTreeInit.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUTreeLeafScan.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUTreeQSScan.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUbweBlock.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptCounterFlip.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptLists.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptListsCompare.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptStates.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptTimeline.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptValidation.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUrt-MBnowaste.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/RCUrt-MBwaste.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/TinyRCUCallbacks.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/TreeClassicRCU.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/TreeClassicRCUGP.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/TreeMapping.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/TreeRCUStateMachine.fig (100%)
 rename appendix/rcuimpl/{ => .unused}/srcuds.fig (100%)
 delete mode 100644 appendix/rcuimpl/AdvanceRCUCallbacks.eps
 delete mode 100644 appendix/rcuimpl/BigTreeClassicRCU.eps
 delete mode 100644 appendix/rcuimpl/BigTreeClassicRCUBH.eps
 delete mode 100644 appendix/rcuimpl/BigTreeClassicRCUBHdyntick.eps
 delete mode 100644 appendix/rcuimpl/FlatClassicRCU.eps
 delete mode 100644 appendix/rcuimpl/GenericRCUStateMachine.eps
 delete mode 100644 appendix/rcuimpl/GracePeriodBad.eps
 delete mode 100644 appendix/rcuimpl/RCUTreeInit.eps
 delete mode 100644 appendix/rcuimpl/RCUTreeLeafScan.eps
 delete mode 100644 appendix/rcuimpl/RCUTreeQSScan.eps
 delete mode 100644 appendix/rcuimpl/RCUbweBlock.eps
 delete mode 100644 appendix/rcuimpl/RCUpreemptCounterFlip.eps
 delete mode 100644 appendix/rcuimpl/RCUpreemptLists.eps
 delete mode 100644 appendix/rcuimpl/RCUpreemptListsCompare.eps
 delete mode 100644 appendix/rcuimpl/RCUpreemptStates.eps
 delete mode 100644 appendix/rcuimpl/RCUpreemptTimeline.eps
 delete mode 100644 appendix/rcuimpl/RCUpreemptValidation.eps
 delete mode 100644 appendix/rcuimpl/RCUrt-MBnowaste.eps
 delete mode 100644 appendix/rcuimpl/RCUrt-MBwaste.eps
 delete mode 100644 appendix/rcuimpl/TinyRCUCallbacks.eps
 delete mode 100644 appendix/rcuimpl/TreeClassicRCU.eps
 delete mode 100644 appendix/rcuimpl/TreeClassicRCUGP.eps
 delete mode 100644 appendix/rcuimpl/TreeMapping.eps
 delete mode 100644 appendix/rcuimpl/TreeRCUStateMachine.eps
 delete mode 100644 appendix/rcuimpl/srcuds.eps
 create mode 100644 appendix/whymb/.gitignore
 delete mode 100644 appendix/whymb/MESI.eps
 delete mode 100644 appendix/whymb/cacheSB.eps
 delete mode 100644 appendix/whymb/cacheSBf.eps
 delete mode 100644 appendix/whymb/cacheSBfIQ.eps
 delete mode 100644 appendix/whymb/cacheSC.eps
 delete mode 100644 appendix/whymb/cacheSCwrite.eps
 delete mode 100644 appendix/whymb/hostileordering.eps
 delete mode 100644 count/GlobalInc.eps
 delete mode 100644 count/GlobalTreeInc.eps
 delete mode 100644 count/PerThreadInc.eps
 delete mode 100644 count/count_lim.eps
 delete mode 100644 count/globbal.eps
 create mode 100644 cpu/.gitignore
 delete mode 100644 cpu/3DI.eps
 delete mode 100644 cpu/SystemArch.eps
 create mode 100644 datastruct/.gitignore
 delete mode 100644 datastruct/hashdiagram.eps
 create mode 100644 defer/.gitignore
 delete mode 100644 defer/GracePeriodGood.eps
 delete mode 100644 defer/Linux_hlist.eps
 delete mode 100644 defer/Linux_list.eps
 delete mode 100644 defer/Linux_list_abbr.eps
 delete mode 100644 defer/QSBRGracePeriod.eps
 delete mode 100644 defer/RCUDeletion.eps
 delete mode 100644 defer/RCUListDeleteClassic.eps
 delete mode 100644 defer/RCUReplacement.eps
 delete mode 100644 defer/RCUenvAPI.eps
 delete mode 100644 defer/rwlockRCUupdate.eps
 create mode 100644 formal/.gitignore
 delete mode 100644 formal/RCUpreemptStates.eps
 create mode 100644 intro/.gitignore
 delete mode 100644 intro/FourTaskCategories.eps
 delete mode 100644 intro/FourTaskOrder.eps
 delete mode 100644 intro/Generality.eps
 delete mode 100644 intro/PPGrelation.eps
 create mode 100644 locking/.gitignore
 delete mode 100644 locking/DeadlockCycle.eps
 delete mode 100644 locking/LayeredLockHierarchy.eps
 delete mode 100644 locking/LocalLockHierarchy.eps
 delete mode 100644 locking/NonLocalLockHierarchy.eps
 delete mode 100644 locking/rnplock.eps
 create mode 100644 toolsoftrade/.gitignore
 delete mode 100644 toolsoftrade/shellparallel.eps


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-08-14  8:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-11 15:14 [RFT GIT PULL] Makefile: Add ".fig -> .eps" rule Akira Yokosawa
2016-08-11 17:54 ` Paul E. McKenney
2016-08-11 23:23   ` Akira Yokosawa
2016-08-11 23:24     ` Akira Yokosawa
2016-08-11 23:39     ` Paul E. McKenney
2016-08-11 23:47       ` Akira Yokosawa
2016-08-12  0:11         ` Paul E. McKenney
2016-08-12  1:56         ` [RFT GIT PULL v2] " Akira Yokosawa
2016-08-14  2:16           ` Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.