a problem about dm_kcopyd_copy()

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

 



Hello,

I'm new to kernel programming, and I'm writing a DM target that implements a Copy-on-Read
cache. The code is close to complete (I think), but I come across a problem that I can't figure
out.

When the cache block size (CBS) is 32KB, 64KB or 128KB, fio stress test is highly likely to
cause dm_kcopyd_copy() to dead lock. There would be hundreds of dm_kcopyd_copy() 
job issued, but none of them will ever complete. CPU usage will go down to 0% after the
problem occurs. The problem never occurs when CBS is 256KB or larger. CBS is also the
size of every dm_kcopyd_copy() job. The fio tests use libaio as I/O engine to test random read, 
I/O block size rangs from 512B, 1KB, 2KB, 4KB, 16KB to 4MB. fio spawns threads as many as CPU hardware threads, each with I/O depth=128.

Please give me some suggestions about where the problem might be, or any other comments
that may help. My code can be found at: https://github.com/lihuiba/dm-foolcache

Thank you, very much!


--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux