[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] LVM Snapshot Troubles
> On Tue, Sep 28, 2004 at 09:06:59PM +0100, Ian Pratt wrote: > > It might be worth adding "| __GFP_REPEAT" to the alloc_page in > > drivers/md/kcopyd.c > > I think that __GFP_REPEAT is a no-op for single-page allocations, as in > this case (though I haven't tried it). __GFP_NOFAIL might work, but > that sounds like a cure worse than the disease. Yep, you're right. From mm/page_alloc.c: if (!(gfp_mask & __GFP_NORETRY)) { if ((order <= 3) || (gfp_mask & __GFP_REPEAT)) do_retry = 1; if (gfp_mask & __GFP_NOFAIL) do_retry = 1; } if (do_retry) { blk_congestion_wait(WRITE, HZ/50); I think it's worth trying GFP_NOFAIL just to see what happens. The correct fix is probably to wrap the page_alloc in a loop that retries a few times, maybe something like: unsigned long start = jiffies; while( (pl->page = alloc_page(GFP_KERNEL)) == NULL && jiffies - start < 5*HZ ) blk_congestion_wait(WRITE, HZ/5); Ian ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |