linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Q] New tty flip interface doubt.
@ 2006-06-21 12:16 Sergei Organov
  2006-06-21 13:42 ` Alan Cox
  0 siblings, 1 reply; 6+ messages in thread
From: Sergei Organov @ 2006-06-21 12:16 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-serial

Alan,

Could you please slightly clarify the intent and suggest the right way
to use the new interface routine tty_buffer_request_room() along with
tty_insert_flip_string() (see below)?

I'm looking into some drivers that use it and into your initial
description of the changes to the tty flip buffers, and I have a
doubt. Consider the code:

  tty_buffer_request_room(tty, urb->actual_length);
  tty_insert_flip_string(tty, data, urb->actual_length);
  tty_flip_buffer_push(tty);

For me it seems that in this case the call to tty_buffer_request_room()
is useless as the first thing tty_insert_flip_string() does is to call
tty_buffer_request_room() with exactly the same parameters anyway.

On the other hand, your explanations of the new interfaces talk about
tty_buffer_request_room() as something that lets kernel handle memory
better. I'm not sure I understand what it means in practice.

On yet another hand (or foot, should one has only two hands), some
drivers do call tty_buffer_request_room(), and others don't.

Yet another way of doing things I see in the kernel code is:

  int count = tty_buffer_request_room(tty, length);
  tty_insert_flip_string(tty, data, count);

this one is also doubtful as just calling

  tty_insert_flip_string(tty, data, length);

instead has slightly more chances to transfer 'length' chars as
tty_insert_flip_string(), unlike tty_buffer_request_room(), loops to
find the memory.

Overall, what's the canonical way to transfer 'length' chars from a
buffer 'buf' to the tty layer?

-- 
Sergei.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-06-23 13:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-21 12:16 [Q] New tty flip interface doubt Sergei Organov
2006-06-21 13:42 ` Alan Cox
2006-06-22  7:33   ` Sergei Organov
2006-06-22 12:56     ` Alan Cox
2006-06-22 15:17       ` Sergei Organov
2006-06-23 13:16         ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).