From mboxrd@z Thu Jan 1 00:00:00 1970 From: Masami Hiramatsu Subject: Re: Re: [RFC PATCH 1/6] virtio/console: Add splice_write support Date: Thu, 09 Aug 2012 18:12:39 +0900 Message-ID: <50237F07.2020907@hitachi.com> References: <20120724023657.6600.52706.stgit@ltc189.sdl.hitachi.co.jp> <20120724023707.6600.69536.stgit@ltc189.sdl.hitachi.co.jp> <20120809090015.GG3280@amit.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20120809090015.GG3280@amit.redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Amit Shah Cc: Arnd Bergmann , qemu-devel@nongnu.org, Frederic Weisbecker , yrl.pp-manager.tt@hitachi.com, linux-kernel@vger.kernel.org, Borislav Petkov , virtualization@lists.linux-foundation.org, Herbert Xu , "Franch Ch. Eigler" , Ingo Molnar , Mathieu Desnoyers , Steven Rostedt , Anthony Liguori , Greg Kroah-Hartman List-Id: virtualization@lists.linuxfoundation.org (2012/08/09 18:00), Amit Shah wrote: > On (Tue) 24 Jul 2012 [11:37:07], Yoshihiro YUNOMAE wrote: >> From: Masami Hiramatsu >> >> Enable to use splice_write from pipe to virtio-console port. >> This steals pages from pipe and directly send it to host. >> >> Note that this may accelerate only the guest to host path. >> >> Signed-off-by: Masami Hiramatsu >> Cc: Amit Shah >> Cc: Arnd Bergmann >> Cc: Greg Kroah-Hartman >> --- > >> +/* Faster zero-copy write by splicing */ >> +static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe, >> + struct file *filp, loff_t *ppos, >> + size_t len, unsigned int flags) >> +{ >> + struct port *port = filp->private_data; >> + struct sg_list sgl; >> + ssize_t ret; >> + struct splice_desc sd = { >> + .total_len = len, >> + .flags = flags, >> + .pos = *ppos, >> + .u.data = &sgl, >> + }; >> + >> + sgl.n = 0; >> + sgl.len = 0; >> + sgl.sg = kmalloc(sizeof(struct scatterlist) * MAX_SPLICE_PAGES, >> + GFP_ATOMIC); > > Do you expect this function to be called from interrupt context? No, not at all. Oops, that should be GFP_KERNEL... Thank you for pointing it out. -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com