| Subject | Re: [RFC PATCH 33/33] Add Xen virtual block device driver. | From | Arjan van de Ven <> | Date | Tue, 18 Jul 2006 12:34:06 +0200 |
| |
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..
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|