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

    • 0.4.15-dev-????

    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 binarymaster and hbelusca and ThePhysicist.

      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

              zefklop jgardou
              reactosfanboy reactosfanboy
              Votes:
              5 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: