[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [RFC PATCH 33/33] Add Xen virtual block device driver.
On Tue, 2006-07-18 at 00:00 -0700, Chris Wright wrote: > plain text document attachment (blkfront) > The block device frontend driver allows the kernel to access block > devices exported exported by a virtual machine containing a physical > block device driver. Hi, as first general comment, I think that some of the memory allocation GFP_ flags are possibly incorrect; I would expect several places to use GFP_NOIO rather than GFP_KERNEL, to avoid recursion/deadlocks > +static void blkif_recover(struct blkfront_info *info) > +{ > + int i; > + struct blkif_request *req; > + struct blk_shadow *copy; > + int j; > + > + /* Stage 1: Make a safe copy of the shadow state. */ > + copy = kmalloc(sizeof(info->shadow), GFP_KERNEL | __GFP_NOFAIL); like here.. > + memcpy(copy, info->shadow, sizeof(info->shadow)); and __GFP_NOFAIL is usually horrid; is this because error recovery was an afterthought, or because it's physically impossible? In addition __GFP_NOFAIL in a block device driver is... an interesting way to add OOM deadlocks... have the VM guys looked into this yet? > +#if 1 > +#define IPRINTK(fmt, args...) \ > + printk(KERN_INFO "xen_blk: " fmt, ##args) > +#else > +#define IPRINTK(fmt, args...) ((void)0) > +#endif hmm isn't this a duplication of the pr_debug() and dev_dbg() infrastructure? Please don't reinvent new ones.. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |