All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladislav Bolkhovitin <vst@vlnb.net>
To: Ronald Moesbergen <intercommit@gmail.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"kosaki.motohiro@jp.fujitsu.com" <kosaki.motohiro@jp.fujitsu.com>,
	"Alan.Brunelle@hp.com" <Alan.Brunelle@hp.com>,
	"hifumi.hisashi@oss.ntt.co.jp" <hifumi.hisashi@oss.ntt.co.jp>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"jens.axboe@oracle.com" <jens.axboe@oracle.com>,
	"randy.dunlap@oracle.com" <randy.dunlap@oracle.com>,
	Bart Van Assche <bart.vanassche@gmail.com>
Subject: Re: [RESEND] [PATCH] readahead:add blk_run_backing_dev
Date: Tue, 30 Jun 2009 14:22:32 +0400	[thread overview]
Message-ID: <4A49E768.5090305@vlnb.net> (raw)
In-Reply-To: <a0272b440906290700v7367d1c1r7237fd6593be00d2@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 11777 bytes --]


Ronald Moesbergen, on 06/29/2009 06:00 PM wrote:
> ... tests ...
> 
>> We started with 2.6.29, so why not complete with it (to save additional
>> Ronald's effort to move on 2.6.30)?
>>
>>>> 2. Default vanilla 2.6.29 kernel, 512 KB read-ahead, the rest is default
>>> How about 2MB RAID readahead size? That transforms into about 512KB
>>> per-disk readahead size.
>> OK. Ronald, can you 4 more test cases, please:
>>
>> 7. Default vanilla 2.6.29 kernel, 2MB read-ahead, the rest is default
>>
>> 8. Default vanilla 2.6.29 kernel, 2MB read-ahead, 64 KB
>> max_sectors_kb, the rest is default
>>
>> 9. Patched by the Fengguang's patch vanilla 2.6.29 kernel, 2MB
>> read-ahead, the rest is default
>>
>> 10. Patched by the Fengguang's patch vanilla 2.6.29 kernel, 2MB
>> read-ahead, 64 KB max_sectors_kb, the rest is default
> 
> The results:
> 
> Unpatched, 128KB readahead, 512 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   5.621    5.503    5.419  185.744    2.780    2.902
>  33554432   6.628    5.897    6.242  164.068    7.827    5.127
>  16777216   7.312    7.165    7.614  139.148    3.501    8.697
>   8388608   8.719    8.408    8.694  119.003    1.973   14.875
>   4194304  11.836   12.192   12.137   84.958    1.111   21.239
>   2097152  13.452   13.992   14.035   74.090    1.442   37.045
>   1048576  12.759   11.996   12.195   83.194    2.152   83.194
>    524288  11.895   12.297   12.587   83.570    1.945  167.140
>    262144   7.325    7.285    7.444  139.304    1.272  557.214
>    131072   7.992    8.832    7.952  124.279    5.901  994.228
>     65536  10.940   10.062   10.122   98.847    3.715 1581.545
>     32768   9.973   10.012    9.945  102.640    0.281 3284.493
>     16384  11.377   10.538   10.692   94.316    3.100 6036.222
> 
> Unpatched, 512KB readahead, 512 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   5.032    4.770    5.265  204.228    8.271    3.191
>  33554432   5.569    5.712    5.863  179.263    3.755    5.602
>  16777216   6.661    6.857    6.550  153.132    2.888    9.571
>   8388608   8.022    8.000    7.978  127.998    0.288   16.000
>   4194304  10.959   11.579   12.208   88.586    3.902   22.146
>   2097152  13.692   12.670   12.625   78.906    2.914   39.453
>   1048576  11.120   11.144   10.878   92.703    1.018   92.703
>    524288  11.234   10.915   11.374   91.667    1.587  183.334

Can somebody explain those big throughput drops (66% in this case, 68% 
in the above case)? It happens nearly in all the tests, only cases of 64 
max_sectors_kb with big RA sizes suffer less from it.

It looks like a possible sing of some not understood deficiency in I/O 
submission or read-ahead path.

(blockdev-perftest just runs dd reading 1 GB for each "bs" 3 times, then 
calculates the average and IOPS, then prints the results. It's small, so 
I attached it.)

>    262144   6.848    6.678    6.795  151.191    1.594  604.763
>    131072   7.393    7.367    7.337  139.025    0.428 1112.202
>     65536  10.003   10.919   10.015   99.466    4.019 1591.462
>     32768  10.117   10.124   10.169  101.018    0.229 3232.574
>     16384  11.614   11.027   11.029   91.293    2.207 5842.771
> 
> Unpatched, 2MB readahead, 512 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   5.268    5.316    5.418  191.996    2.241    3.000
>  33554432   5.831    6.459    6.110  167.259    6.977    5.227
>  16777216   7.313    7.069    7.197  142.385    1.972    8.899
>   8388608   8.657    8.500    8.498  119.754    1.039   14.969
>   4194304  11.846   12.116   11.801   85.911    0.994   21.478
>   2097152  12.917   13.652   13.100   77.484    1.808   38.742
>   1048576   9.544   10.667   10.807   99.345    5.640   99.345
>    524288  11.736    7.171    6.599  128.410   29.539  256.821
>    262144   7.530    7.403    7.416  137.464    1.053  549.857
>    131072   8.741    8.002    8.022  124.256    5.029  994.051
>     65536  10.701   10.138   10.090   99.394    2.629 1590.311
>     32768   9.978    9.950    9.934  102.875    0.188 3291.994
>     16384  11.435   10.823   10.907   92.684    2.234 5931.749
> 
> Unpatched, 512KB readahead, 64 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   3.994    3.991    4.123  253.774    3.838    3.965
>  33554432   4.100    4.329    4.161  244.111    5.569    7.628
>  16777216   5.476    4.835    5.079  200.148   10.177   12.509
>   8388608   5.484    5.258    5.227  192.470    4.084   24.059
>   4194304   6.429    6.458    6.435  158.989    0.315   39.747
>   2097152   7.219    7.744    7.306  138.081    4.187   69.040
>   1048576   6.850    6.897    6.776  149.696    1.089  149.696
>    524288   6.406    6.393    6.469  159.439    0.814  318.877
>    262144   6.865    7.508    6.861  144.931    6.041  579.726
>    131072   8.435    8.482    8.307  121.792    1.076  974.334
>     65536   9.616    9.610   10.262  104.279    3.176 1668.462
>     32768   9.682    9.932   10.015  103.701    1.497 3318.428
>     16384  10.962   10.852   11.565   92.106    2.547 5894.813
> 
> Unpatched, 2MB readahead, 64 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   3.730    3.714    3.914  270.615    6.396    4.228
>  33554432   4.445    3.999    3.989  247.710   12.276    7.741
>  16777216   4.763    4.712    4.709  216.590    1.122   13.537
>   8388608   5.001    5.086    5.229  200.649    3.673   25.081
>   4194304   6.365    6.362    6.905  156.710    5.948   39.178
>   2097152   7.390    7.367    7.270  139.470    0.992   69.735
>   1048576   7.038    7.050    7.090  145.052    0.456  145.052
>    524288   6.862    7.167    7.278  144.272    3.617  288.544
>    262144   7.266    7.313    7.265  140.635    0.436  562.540
>    131072   8.677    8.735    8.821  117.108    0.790  936.865
>     65536  10.865   10.040   10.038   99.418    3.658 1590.685
>     32768  10.167   10.130   10.177  100.805    0.201 3225.749
>     16384  11.643   11.017   11.103   91.041    2.203 5826.629
> 
> Patched, 128KB readahead, 512 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   5.670    5.188    5.636  186.555    7.671    2.915
>  33554432   6.069    5.971    6.141  168.992    1.954    5.281
>  16777216   7.821    7.501    7.372  135.451    3.340    8.466
>   8388608   9.147    8.618    9.000  114.849    2.908   14.356
>   4194304  12.199   12.914   12.381   81.981    1.964   20.495
>   2097152  13.449   13.891   14.288   73.842    1.828   36.921
>   1048576  11.890   12.182   11.519   86.360    1.984   86.360
>    524288  11.899   12.706   12.135   83.678    2.287  167.357
>    262144   7.460    7.559    7.563  136.041    0.864  544.164
>    131072   7.987    8.003    8.530  125.403    3.792 1003.220
>     65536  10.179   10.119   10.131  100.957    0.255 1615.312
>     32768   9.899    9.923   10.589  101.114    3.121 3235.656
>     16384  10.849   10.835   10.876   94.351    0.150 6038.474
> 
> Patched, 512KB readahead, 512 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   5.062    5.111    5.083  201.358    0.795    3.146
>  33554432   5.589    5.713    5.657  181.165    1.625    5.661
>  16777216   6.337    7.220    6.457  154.002    8.690    9.625
>   8388608   7.952    7.880    7.527  131.588    3.192   16.448
>   4194304  10.695   11.224   10.736   94.119    2.047   23.530
>   2097152  10.898   12.072   12.358   87.215    4.839   43.607
>   1048576  10.890   11.347    9.290   98.166    8.664   98.166
>    524288  10.898   11.032   10.887   93.611    0.560  187.223
>    262144   6.714    7.230    6.804  148.219    4.724  592.875
>    131072   7.325    7.342    7.363  139.441    0.295 1115.530
>     65536   9.773    9.988   10.592  101.327    3.417 1621.227
>     32768  10.031    9.995   10.086  102.019    0.377 3264.620
>     16384  11.041   10.987   11.564   91.502    2.093 5856.144
> 
> Patched, 2MB readahead, 512 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   4.970    5.097    5.188  201.435    3.559    3.147
>  33554432   5.588    5.793    5.169  186.042    8.923    5.814
>  16777216   6.151    6.414    6.526  161.012    4.027   10.063
>   8388608   7.836    7.299    7.475  135.980    3.989   16.998
>   4194304  11.792   10.964   10.158   93.683    5.706   23.421
>   2097152  11.225   11.492   11.357   90.162    0.866   45.081
>   1048576  12.017   11.258   11.432   88.580    2.449   88.580
>    524288   5.974   10.883   11.840  117.323   38.361  234.647
>    262144   6.774    6.765    6.526  153.155    2.661  612.619
>    131072   8.036    7.324    7.341  135.579    5.766 1084.633
>     65536   9.964   10.595    9.999  100.608    2.806 1609.735
>     32768  10.132   10.036   10.190  101.197    0.637 3238.308
>     16384  11.133   11.568   11.036   91.093    1.850 5829.981
> 
> Patched, 512KB readahead, 64 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   3.722    3.698    3.721  275.759    0.809    4.309
>  33554432   4.058    3.849    3.957  259.063    5.580    8.096
>  16777216   4.601    4.613    4.738  220.212    2.913   13.763
>   8388608   5.039    5.534    5.017  197.452    8.791   24.682
>   4194304   6.302    6.270    6.282  162.942    0.341   40.735
>   2097152   7.314    7.302    7.069  141.700    2.233   70.850
>   1048576   6.881    7.655    6.909  143.597    6.951  143.597
>    524288   7.163    7.025    6.951  145.344    1.803  290.687
>    262144   7.315    7.233    7.299  140.621    0.689  562.482
>    131072   9.292    8.756    8.807  114.475    3.036  915.803
>     65536   9.942    9.985    9.960  102.787    0.181 1644.598
>     32768  10.721   10.091   10.192   99.154    2.605 3172.935
>     16384  11.049   11.016   11.065   92.727    0.169 5934.531
> 
> Patched, 2MB readahead, 64 max_sectors_kb
> blocksize       R        R        R   R(avg,    R(std        R
>   (bytes)     (s)      (s)      (s)    MB/s)   ,MB/s)   (IOPS)
>  67108864   3.697    3.819    3.741  272.931    3.661    4.265
>  33554432   3.951    3.905    4.038  258.320    3.586    8.073
>  16777216   5.595    5.182    4.864  197.044   11.236   12.315
>   8388608   5.267    5.156    5.116  197.725    2.431   24.716
>   4194304   6.411    6.335    6.290  161.389    1.267   40.347
>   2097152   7.329    7.663    7.462  136.860    2.502   68.430
>   1048576   7.225    7.077    7.215  142.784    1.352  142.784
>    524288   6.903    7.015    7.095  146.210    1.647  292.419
>    262144   7.365    7.926    7.278  136.309    5.076  545.237
>    131072   8.796    8.819    8.814  116.233    0.130  929.862
>     65536   9.998   10.609    9.995  100.464    2.786 1607.423
>     32768  10.161   10.124   10.246  100.623    0.505 3219.943
> 
> Regards,
> Ronald.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

[-- Attachment #2: blockdev-perftest --]
[-- Type: text/plain, Size: 5399 bytes --]

#!/bin/sh

############################################################################
#
# Script for testing block device I/O performance. Running this script on a
# block device that is connected to a remote SCST target device allows to
# test the performance of the transport protocols implemented in SCST. The
# operation of this script is similar to iozone, while this script is easier
# to use.
#
# Copyright (C) 2009 Bart Van Assche <bart.vanassche@gmail.com>.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, version 2
# of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
############################################################################

#########################
# Function definitions  #
#########################

usage() {
  echo "Usage: $0 [-a] [-d] [-i <i>] [-n] [-r] [-s <l2s>] <dev>"
  echo "        -a - use asynchronous (buffered) I/O."
  echo "        -d - use direct (non-buffered) I/O."
  echo "        -i - number times each test is iterated."
  echo "        -n - do not verify the data on <dev> before overwriting it."
  echo "        -r - only perform the read test."
  echo "        -s - logarithm base two of the I/O size."
  echo "        <dev> - block device to run the I/O performance test on."
}

# Echo ((2**$1))
pow2() {
  if [ $1 = 0 ]; then
    echo 1
  else
    echo $((2 * $(pow2 $(($1 - 1)) ) ))
  fi
}

drop_caches() {
  sync
  if [ -w /proc/sys/vm/drop_caches ]; then
    echo 3 > /proc/sys/vm/drop_caches
  fi
}

# Read times in seconds from stdin, one number per line, echo each number
# using format $1, and also echo the average transfer size in MB/s, its
# standard deviation and the number of IOPS using the total I/O size $2 and
# the block transfer size $3.
echo_and_calc_avg() {
  awk -v fmt="$1" -v iosize="$2" -v blocksize="$3" 'BEGIN{pow_2_20=1024*1024}{if ($1 != 0){n++;sum+=iosize/$1;sumsq+=iosize*iosize/($1*$1)};printf fmt, $1} END{d=(n>0?sumsq/n-sum*sum/n/n:0);avg=(n>0?sum/n:0);stddev=(d>0?sqrt(d):0);iops=avg/blocksize;printf fmt fmt fmt,avg/pow_2_20,stddev/pow_2_20,iops}'
}

#########################
# Default settings      #
#########################

iterations=3
log2_io_size=30       # 1 GB
log2_min_blocksize=9  # 512 bytes
log2_max_blocksize=26 # 64 MB
iotype=direct
read_test_only=false
verify_device_data=true


#########################
# Argument processing   #
#########################

set -- $(/usr/bin/getopt "adhi:nrs:" "$@")
while [ "$1" != "${1#-}" ]
do
  case "$1" in
    '-a') iotype="buffered"; shift;;
    '-d') iotype="direct"; shift;;
    '-i') iterations="$2"; shift; shift;;
    '-n') verify_device_data="false"; shift;;
    '-r') read_test_only="true"; shift;;
    '-s') log2_io_size="$2"; shift; shift;;
    '--') shift;;
    *)    usage; exit 1;;
  esac
done

if [ "$#" != 1 ]; then
  usage
  exit 1
fi

device="$1"


####################
# Performance test #
####################

if [ ! -e "${device}" ]; then
  echo "Error: device ${device} does not exist."
  exit 1
fi

if [ "${read_test_only}" = "false" -a ! -w "${device}" ]; then
  echo "Error: device ${device} is not writeable."
  exit 1
fi

if [ "${read_test_only}" = "false" -a "${verify_device_data}" = "true" ] \
   && ! cmp -s -n $(pow2 $log2_io_size) "${device}" /dev/zero
then
  echo "Error: device ${device} still contains data."
  exit 1
fi

if [ "${iotype}" = "direct" ]; then
  dd_oflags="oflag=direct"
  dd_iflags="iflag=direct"
else
  dd_oflags="oflag=sync"
  dd_iflags=""
fi

# Header, line 1
printf "%9s " blocksize
i=0
while [ $i -lt ${iterations} ]
do
  printf "%8s " "W"
  i=$((i+1))
done
printf "%8s %8s %8s " "W(avg," "W(std," "W"
i=0
while [ $i -lt ${iterations} ]
do
  printf "%8s " "R"
  i=$((i+1))
done
printf "%8s %8s %8s" "R(avg," "R(std" "R"
printf "\n"

# Header, line 2
printf "%9s " "(bytes)"
i=0
while [ $i -lt ${iterations} ]
do
  printf "%8s " "(s)"
  i=$((i+1))
done
printf "%8s %8s %8s " "MB/s)" ",MB/s)" "(IOPS)"
i=0
while [ $i -lt ${iterations} ]
do
  printf "%8s " "(s)"
  i=$((i+1))
done
printf "%8s %8s %8s" "MB/s)" ",MB/s)" "(IOPS)"
printf "\n"

# Measurements
log2_blocksize=${log2_max_blocksize}
while [ ! $log2_blocksize -lt $log2_min_blocksize ]
do
  if [ $log2_blocksize -gt $log2_io_size ]; then
    continue
  fi
  iosize=$(pow2 $log2_io_size)
  bs=$(pow2 $log2_blocksize)
  count=$(pow2 $(($log2_io_size - $log2_blocksize)))
  printf "%9d " ${bs}
  i=0
  while [ $i -lt ${iterations} ]
  do
    if [ "${read_test_only}" = "false" ]; then
      drop_caches
      dd if=/dev/zero of="${device}" bs=${bs} count=${count} \
                    ${dd_oflags} 2>&1 \
                 | sed -n 's/.* \([0-9.]*\) s,.*/\1/p'
    else
      echo 0
    fi
    i=$((i+1))
  done | echo_and_calc_avg "%8.3f " ${iosize} ${bs}

  i=0
  while [ $i -lt ${iterations} ]
  do
    drop_caches
    dd if="${device}" of=/dev/null bs=${bs} count=${count} \
                  ${dd_iflags} 2>&1 \
               | sed -n 's/.* \([0-9.]*\) s,.*/\1/p'
    i=$((i+1))
  done | echo_and_calc_avg "%8.3f " ${iosize} ${bs}
  printf "\n"
  log2_blocksize=$((log2_blocksize - 1))
done

  parent reply	other threads:[~2009-06-30 10:23 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-29  5:35 [RESEND] [PATCH] readahead:add blk_run_backing_dev Hisashi Hifumi
2009-06-01  0:36 ` Andrew Morton
2009-06-01  1:04   ` Hisashi Hifumi
2009-06-05 15:15     ` Alan D. Brunelle
2009-06-06 14:36       ` KOSAKI Motohiro
2009-06-06 22:45         ` Wu Fengguang
2009-06-18 19:04           ` Andrew Morton
2009-06-20  3:55             ` Wu Fengguang
2009-06-20 12:29               ` Vladislav Bolkhovitin
2009-06-29  9:34                 ` Wu Fengguang
2009-06-29 10:26                   ` Ronald Moesbergen
2009-06-29 10:26                     ` Ronald Moesbergen
2009-06-29 10:55                     ` Vladislav Bolkhovitin
2009-06-29 12:54                       ` Wu Fengguang
2009-06-29 12:58                         ` Bart Van Assche
2009-06-29 13:01                           ` Wu Fengguang
2009-06-29 13:04                         ` Vladislav Bolkhovitin
2009-06-29 13:13                           ` Wu Fengguang
2009-06-29 13:28                             ` Wu Fengguang
2009-06-29 14:43                               ` Ronald Moesbergen
2009-06-29 14:51                                 ` Wu Fengguang
2009-06-29 14:56                                   ` Ronald Moesbergen
2009-06-29 15:37                                   ` Vladislav Bolkhovitin
2009-06-29 14:00                           ` Ronald Moesbergen
2009-06-29 14:21                             ` Wu Fengguang
2009-06-29 15:01                               ` Wu Fengguang
2009-06-29 15:37                                 ` Vladislav Bolkhovitin
     [not found]                                   ` <20090630010414.GB31418@localhost>
2009-06-30 10:54                                     ` Vladislav Bolkhovitin
2009-07-01 13:07                                       ` Ronald Moesbergen
2009-07-01 18:12                                         ` Vladislav Bolkhovitin
2009-07-03  9:14                                       ` Ronald Moesbergen
2009-07-03 10:56                                         ` Vladislav Bolkhovitin
2009-07-03 12:41                                           ` Ronald Moesbergen
2009-07-03 12:46                                             ` Vladislav Bolkhovitin
2009-07-04 15:19                                           ` Ronald Moesbergen
2009-07-06 11:12                                             ` Vladislav Bolkhovitin
2009-07-06 14:37                                               ` Ronald Moesbergen
2009-07-06 14:37                                                 ` Ronald Moesbergen
2009-07-06 17:48                                                 ` Vladislav Bolkhovitin
2009-07-07  6:49                                                   ` Ronald Moesbergen
2009-07-07  6:49                                                     ` Ronald Moesbergen
     [not found]                                                     ` <4A5395FD.2040507@vlnb.net>
     [not found]                                                       ` <a0272b440907080149j3eeeb9bat13f942520db059a8@mail.gmail.com>
2009-07-08 12:40                                                         ` Vladislav Bolkhovitin
2009-07-10  6:32                                                           ` Ronald Moesbergen
2009-07-10  8:43                                                             ` Vladislav Bolkhovitin
2009-07-10  9:27                                                               ` Vladislav Bolkhovitin
2009-07-13 12:12                                                                 ` Ronald Moesbergen
2009-07-13 12:36                                                                   ` Wu Fengguang
2009-07-13 12:47                                                                     ` Ronald Moesbergen
2009-07-13 12:52                                                                       ` Wu Fengguang
2009-07-14 18:52                                                                     ` Vladislav Bolkhovitin
2009-07-15  7:06                                                                       ` Wu Fengguang
2009-07-14 18:52                                                                   ` Vladislav Bolkhovitin
2009-07-15  6:30                                                                     ` Vladislav Bolkhovitin
2009-07-16  7:32                                                                       ` Ronald Moesbergen
2009-07-16 10:36                                                                         ` Vladislav Bolkhovitin
2009-07-16 14:54                                                                           ` Ronald Moesbergen
2009-07-16 16:03                                                                             ` Vladislav Bolkhovitin
2009-07-17 14:15                                                                           ` Ronald Moesbergen
2009-07-17 18:23                                                                             ` Vladislav Bolkhovitin
2009-07-20  7:20                                                                               ` Vladislav Bolkhovitin
2009-07-22  8:44                                                                                 ` Ronald Moesbergen
2009-07-27 13:11                                                                                   ` Vladislav Bolkhovitin
2009-07-28  9:51                                                                                     ` Ronald Moesbergen
2009-07-28 19:07                                                                                       ` Vladislav Bolkhovitin
2009-07-29 12:48                                                                                         ` Ronald Moesbergen
2009-07-31 18:32                                                                                           ` Vladislav Bolkhovitin
2009-08-03  9:15                                                                                             ` Ronald Moesbergen
2009-08-03  9:20                                                                                               ` Vladislav Bolkhovitin
2009-08-03 11:44                                                                                                 ` Ronald Moesbergen
2009-08-03 11:44                                                                                                   ` Ronald Moesbergen
2009-07-15 20:52                                                           ` Kurt Garloff
2009-07-16 10:38                                                             ` Vladislav Bolkhovitin
2009-06-30 10:22                             ` Vladislav Bolkhovitin [this message]
2009-06-29 10:55                   ` Vladislav Bolkhovitin
2009-06-29 13:00                     ` Wu Fengguang
2009-09-22 20:58 ` Andrew Morton
2009-09-22 20:58   ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2009-09-23  1:48 Wu Fengguang
2009-09-23  1:48 ` [RESEND] [PATCH] readahead:add blk_run_backing_dev Wu Fengguang
2009-09-23  1:48 ` (unknown) Wu Fengguang
2009-05-22  0:09 [RESEND][PATCH] readahead:add blk_run_backing_dev Hisashi Hifumi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A49E768.5090305@vlnb.net \
    --to=vst@vlnb.net \
    --cc=Alan.Brunelle@hp.com \
    --cc=akpm@linux-foundation.org \
    --cc=bart.vanassche@gmail.com \
    --cc=fengguang.wu@intel.com \
    --cc=hifumi.hisashi@oss.ntt.co.jp \
    --cc=intercommit@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.