From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PULL] vhost: infrastructure changes for 3.16 Date: Thu, 12 Jun 2014 12:39:15 +0300 Message-ID: <20140612093915.GD22230@redhat.com> References: <20140611134447.GA8208@redhat.com> <87mwdiwmbp.fsf@kima.orebokech.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <87mwdiwmbp.fsf@kima.orebokech.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: Romain Francoise Cc: sfr@canb.auug.org.au, linux-scsi@vger.kernel.org, kvm@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Al Viro , nab@daterainc.com, Linus Torvalds List-Id: virtualization@lists.linuxfoundation.org On Thu, Jun 12, 2014 at 10:42:34AM +0200, Romain Francoise wrote: > "Michael S. Tsirkin" writes: > > > Memory allocation for vhost-net now supports fallback on vmalloc (same > > as for vhost-scsi) this makes it possible to create the device on > > systems where memory is very fragmented, with slightly lower > > performance. > > Thanks Michael, I'm glad to see that this change made its way into > mainline after all! Would you be willing to take the following on top? > > > From: Romain Francoise > Date: Thu, 12 Jun 2014 10:26:40 +0200 > Subject: [PATCH] vhost-net: don't open-code kvfree > > Commit 23cc5a991c ("vhost-net: extend device allocation to vmalloc") > added another open-coded version of kvfree (which is available since > v3.15-rc5), nuke it. > > Signed-off-by: Romain Francoise > --- Absolutely, I'll queue this up, thanks! > drivers/vhost/net.c | 12 ++---------- > 1 file changed, 2 insertions(+), 10 deletions(-) > > diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c > index 971a760..8dae2f7 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -700,14 +700,6 @@ static void handle_rx_net(struct vhost_work *work) > handle_rx(net); > } > > -static void vhost_net_free(void *addr) > -{ > - if (is_vmalloc_addr(addr)) > - vfree(addr); > - else > - kfree(addr); > -} > - > static int vhost_net_open(struct inode *inode, struct file *f) > { > struct vhost_net *n; > @@ -723,7 +715,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) > } > vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL); > if (!vqs) { > - vhost_net_free(n); > + kvfree(n); > return -ENOMEM; > } > > @@ -840,7 +832,7 @@ static int vhost_net_release(struct inode *inode, struct file *f) > * since jobs can re-queue themselves. */ > vhost_net_flush(n); > kfree(n->dev.vqs); > - vhost_net_free(n); > + kvfree(n); > return 0; > } > > -- > 2.0.0