Re: RAID 6 freezing system when stripe_cache_size is increased from default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,
I don't think you guessed what bug you have correctly :-P
Your link
  http://marc.info/?l=linux-raid&m=116946415327616&w=2
is not what you are looking for.

Your problem arises *only* when resyncing / scrubbing the array, correct?

Then this is what you are looking for:
  http://emailthreads.net/message/20090918.175555.172430c8.en.html
there is a patch at the bottom, I hope it applies cleanly on your kernel 2.6.29.1 . Starting from 2.6.32 the patch is different, I believe, and is mentioned in the same thread. For raid1 and raid10 the patch is different again and is not mentioned there.

Do you have the knowledge to apply the patch, recompile your kernel and test the thing (= run a check of the array: echo check > /sys/block/mdX/md/sync_action)? I would be very interested in you confirming that it works, if within monday. Me myself I have the same problem and probably need to apply the patch & recompile on a very important server of ours tuesday.

Good luck
Asdo



Enigma wrote:
Is there nobody who can give me any additional information on this?
Executive Summary:  Machine freezes with the kernel dump below when
stripe_cache_size > 256

Please help if you can, running at 256 is killing performance.

On Thu, Nov 19, 2009 at 7:53 PM, Enigma <enigma@xxxxxxxxxxxxxxxxxx> wrote:
I am in the process of migrating a 8x200 GB disk RAID 6 array to a
8x500 disk array.  I created the array with 2 missing disks and I
added them after the array is started.  The array synced fine at the
default of 256 for /sys/block/md0/md/stripe_cache_size, but if I
changed it to a higher value, for example  "echo 4096 >
/sys/block/md0/md/stripe_cache_size" the system freezes up.  The
previous array was running fine with a cache size of 8192.  The only
difference between my old array and this array is I increased the
chunk size to 512 from 256.  The machine is a dual Xeon w/
hyperthreading, 3 GB of main memory, kernel 2.6.29.1, mdadm v2.6.7.2.
I let the array sync at the default cache size (with fairly poor
performance) and tested the synced array and get the same behavior
under load.  Whenever the cache size > 256 I get the following hang:

[ 1453.847111] BUG: soft lockup - CPU#3 stuck for 61s! [md0_raid5:571]
[ 1453.863456] Modules linked in: ipv6 dm_mod iTCO_wdt intel_rng
rng_core pcspkr evdev i2c_i801 i2c_core e7xxx_edac edac_core
parport_pc parport containern
[ 1453.919458]
[ 1453.923455] Pid: 571, comm: md0_raid5 Not tainted (2.6.29.1-JJ #7) SE7501CW2
[ 1453.943454] EIP: 0060:[<c033ec4e>] EFLAGS: 00000286 CPU: 3
[ 1453.959453] EIP is at raid6_sse22_gen_syndrome+0x132/0x16c
[ 1453.979454] EAX: dcca66c0 EBX: ffffffff ECX: 000006c0 EDX: dd1be000
[ 1453.995452] ESI: f6005e60 EDI: f6005e5c EBP: 00000014 ESP: f6005e30
[ 1454.015452]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 1454.031451] CR0: 80050033 CR2: b7ede195 CR3: 066e8000 CR4: 000006d0
[ 1454.051451] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 1454.071450] DR6: ffff0ff0 DR7: 00000400
[ 1454.083450] Call Trace:
[ 1454.087450]  [<c033adc1>] ? compute_parity6+0x201/0x26c
[ 1454.103449]  [<c033b7b2>] ? handle_stripe+0x6bc/0xad0
[ 1454.119449]  [<c015537c>] ? rcu_process_callbacks+0x33/0x39
[ 1454.139449]  [<c012a24e>] ? __do_softirq+0x7f/0x125
[ 1454.151448]  [<c033bf6f>] ? raid5d+0x3a9/0x3b7
[ 1454.167448]  [<c03d1b87>] ? schedule_timeout+0x13/0x86
[ 1454.179447]  [<c01176f5>] ? default_spin_lock_flags+0x5/0x8
[ 1454.199447]  [<c0347c76>] ? md_thread+0xb6/0xcc
[ 1454.211446]  [<c0135a11>] ? autoremove_wake_function+0x0/0x2d
[ 1454.231446]  [<c0347bc0>] ? md_thread+0x0/0xcc
[ 1454.243446]  [<c0135952>] ? kthread+0x38/0x5e
[ 1454.255445]  [<c013591a>] ? kthread+0x0/0x5e
[ 1454.267445]  [<c0103b93>] ? kernel_thread_helper+0x7/0x10


In searching for a cause to the problem I have found a few other
people who had issues like this, but they all seemed to be on a older
kernel and the cause was a deadlock that should be resolved by my
version (ex. http://marc.info/?l=linux-raid&m=116946415327616&w=2).
Are there any known bugs that are present in my kernel that would
cause behavior like this?  Here is some info about the array:

#mdadm --examine /dev/sda2
/dev/sda2:
         Magic : a92b4efc
       Version : 00.90.00
          UUID : 65f266b7:852d5253:a847f9a3:2c253025
 Creation Time : Thu Nov 19 01:57:33 2009
    Raid Level : raid6
 Used Dev Size : 401118720 (382.54 GiB 410.75 GB)
    Array Size : 2406712320 (2295.22 GiB 2464.47 GB)
  Raid Devices : 8
 Total Devices : 8
Preferred Minor : 0

   Update Time : Thu Nov 19 19:40:26 2009
         State : clean
 Active Devices : 8
Working Devices : 8
 Failed Devices : 0
 Spare Devices : 0
      Checksum : 16b3ddef - correct
        Events : 1150

    Chunk Size : 512K

     Number   Major   Minor   RaidDevice State
this     0       8        2        0      active sync   /dev/sda2

  0     0       8        2        0      active sync   /dev/sda2
  1     1       8       18        1      active sync   /dev/sdb2
  2     2       8       34        2      active sync   /dev/sdc2
  3     3       8       50        3      active sync   /dev/sdd2
  4     4       8       66        4      active sync   /dev/sde2
  5     5       8       98        5      active sync   /dev/sdg2
  6     6       8       82        6      active sync   /dev/sdf2
  7     7       8      114        7      active sync   /dev/sdh2



# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5]
[raid4] [multipath]
md1 : active raid1 hdc1[1] hda1[0]
     4200896 blocks [2/2] [UU]

md0 : active raid6 sdh2[7] sdg2[5] sdf2[6] sde2[4] sdd2[3] sdc2[2]
sdb2[1] sda2[0]
     2406712320 blocks level 6, 512k chunk, algorithm 2 [8/8] [UUUUUUUU]

unused devices: <none>



Can anyone point me at some information to debug this problem?

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux