All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Scott Wood <scottwood@freescale.com>,
	linuxppc-dev@ozlabs.org, brueckner@linux.vnet.ibm.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] hvc_console: returning 0 from put_chars is not an error
Date: Thu, 15 Oct 2009 13:55:03 -0500	[thread overview]
Message-ID: <4AD77007.2070706@freescale.com> (raw)
In-Reply-To: <200910152041.26646.borntraeger@de.ibm.com>

Christian Borntraeger wrote:
> Hmmm, if we are ok with having both options, we should let the hvc backend 
> decide if it wants to drain or to discard.
> 
> If we just busy loop, it actually does not matter how we let hvc_console react 
> on 0, as long as we adopt all backends to use that interface consistent.
> 
> On the other hand, backends might want to do special magic on congestion so I 
> personally tend to let the backend loop instead of hvc_console. But I am really  
> not sure.

The reason that we're asking for this change is that I have an hvc client driver that drops characters during heavy printk() output.  hvc calls my driver, but the output buffer is still full, so the driver just returns 0.

If I add a spin-loop in the driver, then we don't need to change hvc, but now the driver is blocking during user-space print operations (via hvc_write and hvc_push).  

-- 
Timur Tabi
Linux kernel developer at Freescale

WARNING: multiple messages have this Message-ID (diff)
From: Timur Tabi <timur@freescale.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Scott Wood <scottwood@freescale.com>,
	linuxppc-dev@ozlabs.org, brueckner@linux.vnet.ibm.com,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] hvc_console: returning 0 from put_chars is not an error
Date: Thu, 15 Oct 2009 13:55:03 -0500	[thread overview]
Message-ID: <4AD77007.2070706@freescale.com> (raw)
In-Reply-To: <200910152041.26646.borntraeger@de.ibm.com>

Christian Borntraeger wrote:
> Hmmm, if we are ok with having both options, we should let the hvc backend 
> decide if it wants to drain or to discard.
> 
> If we just busy loop, it actually does not matter how we let hvc_console react 
> on 0, as long as we adopt all backends to use that interface consistent.
> 
> On the other hand, backends might want to do special magic on congestion so I 
> personally tend to let the backend loop instead of hvc_console. But I am really  
> not sure.

The reason that we're asking for this change is that I have an hvc client driver that drops characters during heavy printk() output.  hvc calls my driver, but the output buffer is still full, so the driver just returns 0.

If I add a spin-loop in the driver, then we don't need to change hvc, but now the driver is blocking during user-space print operations (via hvc_write and hvc_push).  

-- 
Timur Tabi
Linux kernel developer at Freescale

  reply	other threads:[~2009-10-15 18:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-14 21:53 [PATCH] hvc_console: returning 0 from put_chars is not an error Timur Tabi
2009-10-15 11:05 ` Christian Borntraeger
2009-10-15 11:05   ` Christian Borntraeger
2009-10-15 16:09   ` Scott Wood
2009-10-15 16:09     ` Scott Wood
2009-10-15 18:41     ` Christian Borntraeger
2009-10-15 18:41       ` Christian Borntraeger
2009-10-15 18:55       ` Timur Tabi [this message]
2009-10-15 18:55         ` Timur Tabi
2009-10-15 18:57       ` Scott Wood
2009-10-15 18:57         ` Scott Wood
2009-10-15 19:26         ` Christian Borntraeger
2009-10-15 19:26           ` Christian Borntraeger
2009-10-15 19:32           ` Scott Wood
2009-10-16  8:49             ` Hendrik Brueckner
2009-10-16  8:49               ` Hendrik Brueckner
2009-10-17 23:17               ` Timur Tabi
2009-10-16  4:46         ` Benjamin Herrenschmidt
2009-10-16  4:46           ` Benjamin Herrenschmidt
2009-10-16 15:33           ` Scott Wood
2009-10-16 15:33             ` Scott Wood
2009-10-16 18:03             ` Benjamin Herrenschmidt
2009-10-16 18:03               ` Benjamin Herrenschmidt

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=4AD77007.2070706@freescale.com \
    --to=timur@freescale.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=borntraeger@de.ibm.com \
    --cc=brueckner@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=scottwood@freescale.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.