Re: [PATCH] virtio_console: Add support for multiple ports forgeneric guest and host communication

From: Amit Shah
Date: Thu Sep 17 2009 - 12:47:24 EST


On (Thu) Sep 17 2009 [16:57:01], Alan Cox wrote:
> > Alan, I'm not sure how many ports at a time people would want to use so
> > allocating one major device for this seems OK?
>
> We have very large minor number ranges now so one dynamic major should do
> you for a while yet. Probably forever but thats always asking for a
> "640K.." moment ;)

:-) OK.

> > +static ssize_t fill_readbuf(struct virtio_console_port *port,
> > + char *out_buf, size_t out_count, bool to_user)
> > +{
>
> Save yourself serious grief - and the FIXME pain noted below - unless you
> are shipping huge objects use a bounce buffer and kill off the to_user
> stuff - modern CPUs are so fast doing cache transfers it really isn't
> worth the suffering for small stuff.

I would if I knew what it is that you are suggesting. A bounce buffer
for guest kernel - guest userspace communication?

This is what it looks like right now:

For guest kernel - host communication, I'm using virtio - which is a
bounce buffer (guest allocates pages, host fetches, reads/writes, guest
gets an ack).

But I probably didn't get what you meant, so please explain.

> > + ret = copy_to_user(out_buf + out_offset,
> > + buf->buf + buf->offset,
> > + copy_size);
> > + /* FIXME: Deal with ret != 0 */

Amit
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/