Re-reading feels effective because the second pass really is smoother. But that smoothness comes from having seen the material, not from having remembered it. The test of learning is whether you can reproduce it with the book closed — and after three passes, most people still cannot.
The alternative is active recall: read a section, cover it, write down the key points in your own words, then check. This is slower than another pass and considerably less comfortable, but that discomfort is what builds the memory. The value is in what you get wrong; what you get right is only confirmation.
The second change is spacing. Reviewing the same material a few times across several days beats the same number of reviews packed into one day. You do not need a sophisticated scheduler: a workable default is to review on day one, day three and day seven, then once more before the exam.
Doing questions is also active recall, with the added benefit of telling you what you do not know. So rather than spending all your time re-reading notes, spend about half of it on questions and use the errors to decide what to re-read. Let the mistakes set the direction instead of the chapter order.
Finally, an error log should not be just the question and the answer. Write down why you chose wrong — whether you confused two concepts or missed a constraint in the wording. A log with only answers in it will produce the same mistake the second time round.