Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17627

Regression, "Installing bootloader" does take about 30seconds for me now, while it used to take only about 2seconds

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Fix Version/s: 0.4.15
    • Component/s: None

      Description

      "Installing bootloader" does take about 30seconds for me now, while it used to take only about 2seconds. bootloader.png

      I report it against 0.4.15-dev-2689-ge70df4c.

      It is a regression:
      reactos-bootcd-0.4.15-dev-2689-ge70df4c-x86-gcc-lin-dbg.iso slow
      reactos-bootcd-0.4.15-dev-2534-geba00d1-x86-gcc-lin-dbg.iso slow
      reactos-bootcd-0.4.15-dev-2460-ga825523-x86-gcc-lin-dbg.iso slow
      reactos-bootcd-0.4.15-dev-2400-g0995b35-x86-gcc-lin-dbg.iso slow
      reactos-bootcd-0.4.15-dev-2022-g44eecfa-x86-gcc-lin-dbg.iso still fast
      ReactOS-0.4.14-RC-71-gcfc2431-iso still fast

      The issue has been confirmed already by Stas'M and hbelusca and Timo Kreuzer.

      Sidenote
      I am pretty sure, that it is caused by some MM/FS-write-caching-changes, because I also noticed that the copy-performance during 1st stage flie-copy is a bit slower than before and especially less linear in progressing, I do even get some workqueue deadlocks detected:

      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      (ntoskrnl/ex/work.c:348) EX: Work Queue Deadlock detected: 1
      (ntoskrnl/ex/work.c:350) Dynamic threads queued 2
      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      (ntoskrnl/ex/work.c:348) EX: Work Queue Deadlock detected: 1
      (ntoskrnl/ex/work.c:350) Dynamic threads queued 3
      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      (ntoskrnl/mm/balance.c:144) MM BALANCER: Removing access bit!
      

      I guess, that when the bootsector low-level-access happens, then all the queued outstanding stuff from the 1st-stage-file-copying has to be persisted at once and that may cause the "hang".

      Therefore the question: Can we explicitly disable that kind of caching during 1st stage copying to regain the speed when writing bootsector and also to make the copy-progress more linear again?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                reactosfanboy reactosfanboy
              • Votes:
                3 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: