consensus/ethash: fix the percentage progress report

This commit is contained in:
Martin Holst Swende 2020-11-09 11:48:18 +01:00
parent 97fc1c3b1d
commit 81ff700077
No known key found for this signature in database
GPG Key ID: 683B438C05A5DDF0

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)