linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Hurley <peter-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>
To: Sven Brauch <mail-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>,
	Oliver Neukum <oneukum-IBi9RG/b67k@public.gmane.org>
Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: implement put_char() in cdc-acm
Date: Wed, 28 Oct 2015 12:20:35 -0400	[thread overview]
Message-ID: <5630F5D3.8050203@hurleysoftware.com> (raw)
In-Reply-To: <5630EF8A.8060904-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>

On 10/28/2015 11:53 AM, Sven Brauch wrote: 
> On 28/10/15 13:23, Peter Hurley wrote:
>> Sven, please test Oliver's patch on that tree.
> I will do as soon as I get around to it, I hope on the weekend.

Ok.

I'll get you the kworker scheduler latency profiling howto so
we can find out what accounts for the scheduling lag, if still causing
issues when you test that tree.

>> Lastly, please confirm your test method/termios settings (iow, are
>> you using a reproducer or just 'cat big_file > /dev/ttyACM1')
> Sorry, what exactly do you mean by "reproducer"? I have a
> microcontroller which acquires and transmits the data on the device end
> of the USB connection. The data flows from device to host.

Ok. (A reproducer in your case would be a _very simple_ host sink, and
maybe a software simulation of the device.)

Are you using an application to setup and log the host side?
Or are you just using the shell (eg., 'cat /dev/ttyACM1 > log_file')?

I ask because the termios settings on the host are relevant to the
problem. If you're using an application, then you can capture the termios
settings on the host side _while the app is acquiring_ with, eg.:

	sudo stty -a -F /dev/ttyACM1


>> I would much rather rework URB flow + unthrottle, as I previously
>> outlined in the original thread instead of introducing another
>> buffering layer.
> From my non-kernel-dev point of view, this seems the way to go if the
> strategy in my patch (technical flaws aside) is not acceptable.
> Everything else, i.e. larger buffers or less delay, will certainly be a
> welcome improvement but still does not guarantee data delivery.
> 
> A very similar patch, by the way, was already submitted a few years ago
> [1] but not accepted for similar reasons as brought up here (I only
> found that thread later on). That patch has a more elegant
> implementation than mine, so you might prefer reviving that, if it
> becomes relevant.

I've done similar things on very-high-speed serial connections as
a stopgap, but I'd really like to solve this within the tty layer
rather than by each very-high-speed driver.


> I will be happy to test any fixes which come up, although I can't
> promise I can get around to do it immediately.

Thanks again.

Regards,
Peter Hurley

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-10-28 16:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27 15:07 implement put_char() in cdc-acm Oliver Neukum
     [not found] ` <1445958479.2043.6.camel-IBi9RG/b67k@public.gmane.org>
2015-10-27 15:45   ` Sven Brauch
     [not found]     ` <562F9C08.6050105-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>
2015-10-28 11:04       ` Oliver Neukum
     [not found]         ` <1446030280.15140.10.camel-IBi9RG/b67k@public.gmane.org>
2015-10-28 12:23           ` Peter Hurley
     [not found]             ` <5630BE5E.6040204-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>
2015-10-28 12:33               ` Oliver Neukum
     [not found]                 ` <1446035622.15140.17.camel-IBi9RG/b67k@public.gmane.org>
2015-10-28 12:49                   ` Peter Hurley
2015-11-01 19:28                   ` Sven Brauch
     [not found]                     ` <563667D9.9080401-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>
2015-11-01 19:59                       ` Peter Hurley
     [not found]                         ` <56366F19.90202-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>
2015-11-01 20:04                           ` Sven Brauch
2015-11-02 11:32                       ` Oliver Neukum
     [not found]                         ` <1446463972.25345.24.camel-IBi9RG/b67k@public.gmane.org>
2015-11-02 20:27                           ` Sven Brauch
     [not found]                             ` <5637C731.20409-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>
2015-11-03  8:58                               ` Oliver Neukum
     [not found]                                 ` <1446541094.27681.2.camel-IBi9RG/b67k@public.gmane.org>
2015-11-03 10:13                                   ` Sven Brauch
     [not found]                                     ` <563888BB.2080601-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>
2015-11-03 10:19                                       ` Oliver Neukum
2015-11-05  4:18                           ` Peter Hurley
2015-10-28 15:53               ` Sven Brauch
     [not found]                 ` <5630EF8A.8060904-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org>
2015-10-28 16:20                   ` Peter Hurley [this message]
2015-10-28 16:23                   ` Oliver Neukum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5630F5D3.8050203@hurleysoftware.com \
    --to=peter-wagbzjegnqdsbiue7sb01tbpr1lh4cv8@public.gmane.org \
    --cc=linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mail-ITmcY+a7/CDoK6nBLMlh1Q@public.gmane.org \
    --cc=oneukum-IBi9RG/b67k@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).