Re: tiny tty driver sample

From: Alan Cox
Date: Wed Mar 07 2007 - 18:37:40 EST


> > Unless data_size can be very large and high speed then you can replace the
> > lot with
> >
> > if (tty_insert_flip_string(tty, data, data_size))
> > tty_flip_buffer_push(tty);
> >
>
> What does "very large and high speed" mean in this context?

The default behaviour is to generate buffers based upon perceived need
and then cycle them, so you tend to get chunks of 512 bytes or so. The
logic is abstracted into tty_buffer_find() so can easily be changed.

Some hardware at high speeds with big FIFOs (or virtualised interfaces)
produces big chunks of data in blocks with the size known at read time (eg
that with large fifos and 100 polls/sec) - for those you can avoid
generating a series of allocations or buffers by using the request_room
interface to hint the size of the buffer you will actually need.

-
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/