Skip to contentSkip to conversation

rmap 15j for 2.4.21-rc6

PATCH Andreas Hartmann 3 participants 3 messages Jun 1, 2003 – Jun 2, 2003 2 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 6 lines · Michael Frank
Quoted 4 lines · Rik van Riel

Today I finally merged rmap15j forward to marcelo's latest release. The IO stall fixes should be especially interesting:

Quoted 9 lines

Patched rc6 ex BK OK and compiled with gcc295-3 OK

On a P4/533-2.4Ghz/512MB with udma5 IDE ~50MB/s:

Shows severe interactivity problems and hangs

Scroll and mouse hangs and delayed response to keyboard greater 1s are easily observable.

Well, I did the test with 2.4.21rc6 after patching your script (I got syntax errors):

When I'm using the script as seen in the patch, I'm getting problems with df (it's mostly very lazy, about 20s delay or more), the load is 4, doing an ls on some other directories is extremly slow. Mouse and keyboard are hanging some times.
The write speed shown in xosview was between 1 and 15MB/s. Often the HD LED was on, but no data seemed to be put to the HD.

My system:
AMD Athlon(tm) XP 2000+
512 MB RAM
Chipsatz Apollo KT266/A/333
WDC WD205AA, udma4, 20,5 GB
(multcount = 16 (on),I/O support = 1 (32-bit),
unmaskirq = 1 (on),using_dma = 1 (on),
readahead = 8 (on)
)
reiserfs

Regards,
Andreas Hartmann

tstinter Sun Jun 1 11:27:18 2003 renamed from home/Andreas/tstinter Sun Jun 1 11:03:10 2003 +6 -6
@@ -138,7 +138,7 @@
     sleep 1
    fi
  #invoke dd write loops
-   while (( i-- )); do
+   while (( i=`expr $i - 1` )); do
      $TSTINTER _xwrite "$2" $i
      sleep 1
    done
@@ -163,13 +163,13 @@
  #
  _read)
    if [ "$2" = "" ]; then
-     count=100K
+     count=100000
    else
      count=$2
    fi
-   dd if=/dev/zero of=$TEMPFILE$3 bs=4K count=$count
+   dd if=/dev/zero of=$TEMPFILE$3 bs=4096 count=$count
    while (( 1 )); do
-     time dd if=$TEMPFILE$3 of=/dev/null bs=4K count=$count &> /dev/null
+     time dd if=$TEMPFILE$3 of=/dev/null bs=4096 count=$count &> /dev/null
    done
    ;;
  #
@@ -181,12 +181,12 @@
  #
  _write)
    if [ "$2" = "" ]; then
-     count=100K
+     count=100000
    else
      count=$2
    fi
    while (( 1 )); do
-     time dd if=/dev/zero of=$TEMPFILE$3 bs=4K count=$count
+     time dd if=/dev/zero of=$TEMPFILE$3 bs=4096 count=$count
    done
    ;;
  #
#3 lore raw
Quoted 3 lines · Andreas Hartmann

Well, I did the test with 2.4.21rc6 after patching your script (I got syntax errors):

About your script changes, I like to make it portable, and I use the following versions:

GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)

dd (coreutils) 4.5.3

What shell and coreutils are you using?

Avoiding short counts is easy but avoiding C-style expressions is primitive

- count=100K
+ count=100000

- while (( i-- )); do
+ while (( i=expr $i - 1 )); do

In your opinion are your changes more portable across a wide range of systems?

Quoted 8 lines

When I'm using the script as seen in the patch, I'm getting problems with df (it's mostly very lazy, about 20s delay or more), the load is 4, doing an ls on some other directories is extremly slow. Mouse and keyboard are hanging some times.
The write speed shown in xosview was between 1 and 15MB/s. Often the HD LED was on, but no data seemed to be put to the HD.

It has a hard time to read anything else, the slower the disk, the worse.

Suppose rmap undoes the fixes introduced in -rc6.

Have you tried -rc6 plain?

Regards
Michael

#4 lore raw
Quoted 1 line · Michael Frank

Suppose rmap undoes the fixes introduced in -rc6.

It shouldn't, unless bitkeeper made a serious merge error (unlikely). The rmap patch should just change VM code, not the IO improvements.

Having said that, I'd like to thank Michael Frank for his script that reproduces problems. Now the problem is reproducable I can try to fix it ...