Re: [RFT GIT PULL] Makefile: Add ".fig -> .eps" rule

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 12, 2016 at 12:14:20AM +0900, Akira Yokosawa wrote:
> 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.

Hmmm...

Pulling this, and then cloning into a new repository gets me this:

$ make -j8
SMPdesign/AllocatorPool.fig --> SMPdesign/AllocatorPool.eps
make: *** [SMPdesign/AllocatorPool.eps] Error 127
make: *** Waiting for unfinished jobs....
SMPdesign/DiningPhilosopher5.tex --> SMPdesign/DiningPhilosopher5.eps

I get the same error if I do "make neatfreak" beforehand.

What am I doing wrong?

							Thanx, Paul

>                                                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
> 

--
To unsubscribe from this list: send the line "unsubscribe perfbook" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux