From: Johan Hovold <johan@kernel.org>
To: Douglas Anderson <dianders@chromium.org>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Jiri Slaby" <jirislaby@kernel.org>,
"Yicong Yang" <yangyicong@hisilicon.com>,
"Tony Lindgren" <tony@atomide.com>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Johan Hovold" <johan+linaro@kernel.org>,
"John Ogness" <john.ogness@linutronix.de>,
linux-arm-msm@vger.kernel.org,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konrad.dybcio@linaro.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Stephen Boyd" <swboyd@chromium.org>,
linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Rob Herring" <robh@kernel.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Vijaya Krishna Nivarthi" <quic_vnivarth@quicinc.com>
Subject: Re: [PATCH v4 0/8] serial: qcom-geni: Overhaul TX handling to fix crashes/hangs
Date: Wed, 19 Jun 2024 10:50:50 +0200 [thread overview]
Message-ID: <ZnKb6oMGcA-tWtxy@hovoldconsulting.com> (raw)
In-Reply-To: <20240610222515.3023730-1-dianders@chromium.org>
Hi Doug,
and sorry about the late feedback on this (was out of office last
week).
On Mon, Jun 10, 2024 at 03:24:18PM -0700, Douglas Anderson wrote:
>
> While trying to reproduce -EBUSY errors that our lab was getting in
> suspend/resume testing, I ended up finding a whole pile of problems
> with the Qualcomm GENI serial driver. I've posted a fix for the -EBUSY
> issue separately [1]. This series is fixing all of the Qualcomm GENI
> problems that I found.
>
> As far as I can tell most of the problems have been in the Qualcomm
> GENI serial driver since inception, but it can be noted that the
> behavior got worse with the new kfifo changes. Previously when the OS
> took data out of the circular queue we'd just spit stale data onto the
> serial port. Now we'll hard lockup. :-P
Thanks for taking a stab at this. This is indeed a known issue that has
been on my ever growing TODO list for over a year now. I worked around a
related regression with:
9aff74cc4e9e ("serial: qcom-geni: fix console shutdown hang")
but noticed that the underlying bug can still easily be triggered, for
example, using software flow control in a serial console.
With 6.10-rc1 I started hitting this hang on every reboot. I was booting
the new x1e80100 so wasn't sure at first what caused it, but after
triggering the hang by interrupting a dmesg command I remembered the
broken serial driver and indeed your (v2) series fixed the regression
which was also present on sc8280xp.
I did run a quick benchmark this morning to see if there was any
significant performance penalty and I am seeing a 26% slow down (e.g.
catting 544 kB takes 68 instead of 54 seconds at 115200).
I've had a feeling that boot was slower with the series applied, but I
haven't verified that (just printing dmesg takes an extra second,
though).
Correctness first, of course, but perhaps something can be done about
that too.
I'll comment on the individual patches as well, but for now:
Tested-by: Johan Hovold <johan+linaro@kernel.org>
(I did a quick test with Bluetooth / DMA as well.)
Johan
next prev parent reply other threads:[~2024-06-19 8:50 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-10 22:24 [PATCH v4 0/8] serial: qcom-geni: Overhaul TX handling to fix crashes/hangs Douglas Anderson
2024-06-10 22:24 ` [PATCH v4 1/8] soc: qcom: geni-se: Add GP_LENGTH/IRQ_EN_SET/IRQ_EN_CLEAR registers Douglas Anderson
2024-06-10 22:24 ` [PATCH v4 2/8] tty: serial: Add uart_fifo_timeout_ms() Douglas Anderson
2024-06-12 7:38 ` Ilpo Järvinen
2024-06-12 18:45 ` Doug Anderson
2024-06-13 6:56 ` Ilpo Järvinen
2024-06-13 14:02 ` Doug Anderson
2024-06-10 22:24 ` [PATCH v4 3/8] serial: qcom-geni: Fix the timeout in qcom_geni_serial_poll_bit() Douglas Anderson
2024-06-17 18:46 ` Konrad Dybcio
2024-06-10 22:24 ` [PATCH v4 4/8] serial: qcom-geni: Fix arg types for qcom_geni_serial_poll_bit() Douglas Anderson
2024-06-17 18:47 ` Konrad Dybcio
2024-06-10 22:24 ` [PATCH v4 5/8] serial: qcom-geni: Introduce qcom_geni_serial_poll_bitfield() Douglas Anderson
2024-06-17 18:53 ` Konrad Dybcio
2024-06-10 22:24 ` [PATCH v4 6/8] serial: qcom-geni: Just set the watermark level once Douglas Anderson
2024-06-10 22:24 ` [PATCH v4 7/8] serial: qcom-geni: Fix suspend while active UART xfer Douglas Anderson
2024-06-17 19:02 ` Konrad Dybcio
2024-06-24 12:12 ` Johan Hovold
2024-06-24 16:54 ` Johan Hovold
2024-06-24 20:58 ` Doug Anderson
2024-06-25 8:46 ` Johan Hovold
2024-06-10 22:24 ` [PATCH v4 8/8] serial: qcom-geni: Rework TX in FIFO mode to fix hangs/lockups Douglas Anderson
2024-06-17 19:10 ` Konrad Dybcio
2024-06-17 19:37 ` Doug Anderson
2024-06-17 19:54 ` Konrad Dybcio
2024-06-24 12:43 ` Johan Hovold
2024-06-24 21:15 ` Doug Anderson
2024-06-25 11:21 ` Johan Hovold
2024-06-25 14:29 ` Doug Anderson
2024-06-26 8:20 ` Johan Hovold
2024-06-18 10:19 ` [PATCH v4 0/8] serial: qcom-geni: Overhaul TX handling to fix crashes/hangs Konrad Dybcio
2024-06-19 8:25 ` neil.armstrong
2024-06-19 8:50 ` Johan Hovold [this message]
2024-06-20 23:13 ` Nícolas F. R. A. Prado
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=ZnKb6oMGcA-tWtxy@hovoldconsulting.com \
--to=johan@kernel.org \
--cc=andersson@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dianders@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jirislaby@kernel.org \
--cc=johan+linaro@kernel.org \
--cc=john.ogness@linutronix.de \
--cc=konrad.dybcio@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=quic_vnivarth@quicinc.com \
--cc=robh@kernel.org \
--cc=swboyd@chromium.org \
--cc=tglx@linutronix.de \
--cc=tony@atomide.com \
--cc=u.kleine-koenig@pengutronix.de \
--cc=yangyicong@hisilicon.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox