Merge pull request #21803 from holiman/ethash

consensus/ethash: fix the percentage progress report
This commit is contained in:
Péter Szilágyi 2020-11-09 17:57:23 +02:00 committed by GitHub
commit 0c34eae172
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -295,7 +295,7 @@ func generateDataset(dest []uint32, epoch uint64, cache []uint32) {
var pend sync.WaitGroup var pend sync.WaitGroup
pend.Add(threads) pend.Add(threads)
var progress uint32 var progress uint64
for i := 0; i < threads; i++ { for i := 0; i < threads; i++ {
go func(id int) { go func(id int) {
defer pend.Done() defer pend.Done()
@ -311,7 +311,7 @@ func generateDataset(dest []uint32, epoch uint64, cache []uint32) {
limit = uint32(size / hashBytes) limit = uint32(size / hashBytes)
} }
// Calculate the dataset segment // Calculate the dataset segment
percent := uint32(size / hashBytes / 100) percent := size / hashBytes / 100
for index := first; index < limit; index++ { for index := first; index < limit; index++ {
item := generateDatasetItem(cache, index, keccak512) item := generateDatasetItem(cache, index, keccak512)
if swapped { if swapped {
@ -319,8 +319,8 @@ func generateDataset(dest []uint32, epoch uint64, cache []uint32) {
} }
copy(dataset[index*hashBytes:], item) copy(dataset[index*hashBytes:], item)
if status := atomic.AddUint32(&progress, 1); status%percent == 0 { if status := atomic.AddUint64(&progress, 1); status%percent == 0 {
logger.Info("Generating DAG in progress", "percentage", uint64(status*100)/(size/hashBytes), "elapsed", common.PrettyDuration(time.Since(start))) logger.Info("Generating DAG in progress", "percentage", (status*100)/(size/hashBytes), "elapsed", common.PrettyDuration(time.Since(start)))
} }
} }
}(i) }(i)