Hi Neil, Thanks for your reply. I am trying to find out problems that I could face later on. On Wed, Apr 29, 2009 at 7:15 AM, Neil Brown <neilb@xxxxxxx> wrote: > On Tuesday April 28, kunal.kushwaha@xxxxxxxxx wrote: >> Hi, >> >> I am trying to put Linux raid in Box with 256 MB of RAM. The kernel is >> compiled with non-swappable memory management option. I looked into >> raid5.c and found, it allocates one page for each chunk. I am using 5 >> disks for 64k chunk size. considering my kernel is within 30 MB. > > That isn't quite right. It is not 1 page per chunk. > raid5 maintains a stripe cache. Each entry in the cache has one page > per device, and there are 256 entries by default. > So for a 5-disk array, that is 5*256 == 1280 pages or 5MB (plus > overhead). > Sorry I missed to mention about stripe cache. Yes we will be using only 5MB if we consider page size is of 4k. I have one more doubt regarding this. How a page of 4k will be able to store data of 64k( my chunk size if of 64k) ? >> >> 1. If one page is allocated for one chunk instead of actual buffer >> size, isn't memory lot of memory is wasted? > > It depends on what you mean by "wasted". The memory is used to > provide adequate performance with manageable code complexity. > Possibly the same performance could be achieved using less memory, but > I suspect the code would be much more complex and so probably more > buggy. It is a trade off. > > If the 5MB eats in to you 256MB too much, you can reduce it be writing > a number to /sys/block/mdX/md/stripe_cache_size. > You could probably get away with as little as '4', but I suspect that > would really kill performance. With a 64K chunk size you want at > least 16 entries, so 32 or 64 might be a suitable compromise for you. > >> 2. It will restrict the no. of stripes in memory (in case of >> non-swappable memory, no will be very less) will effect performance of >> IO badly. > > The number of (page-wide) stripes in memory is fixed by the cache > size. It defaults to 256, but you can change it. A smaller size > would be likely to negatively affect performance. A larger cache can > improve performance depending on workload. > >> >> Please correct me, if I am wrong, also any suggestion to overcome this >> problem is most welcomed. > > Do you have an actual observed problem, or are you just trying to > discover what problems you might eventually run in to? > > NeilBrown > -- Thanks in Advance, Kunal Kushwaha -- 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