From: Dan Malek <dan@embeddededge.com>
To: joakim.tjernlund@lumentis.se
Cc: Murray Jensen <Murray.Jensen@csiro.au>,
linuxppc-embedded@lists.linuxppc.org
Subject: Re: [PATCH] 8xx_io/uart.c
Date: Tue, 11 Feb 2003 11:03:52 -0500 [thread overview]
Message-ID: <3E491EE8.6070503@embeddededge.com> (raw)
In-Reply-To: IGEFJKJNHJDCBKALBJLLIECLFKAA.joakim.tjernlund@lumentis.se
Joakim Tjernlund wrote:
> ..... Will KGDB/XMON write this early and/or
> is KGDB/XMON guaranteed not to write a LF?
Yes, yes. Making these work, especially kgdb, was a real PITA.
Both format their own packets/strings and expect behavior of
reading/writing directly to a uart FIFO. Like I said, if you really
understand how xmon/kgdb work, you would understand why these functions
are written exactly as they are.
The printk never calls a serial driver before it is fully initialized.
Debugger serial interfaces, especially kgdb, expect a simple uart fifo
immediately available within a few hundred lines of kernel code execution.
> The buffer is kmalloc'ed and kmalloc always returns L1 cache aligned buffers.
> Then __dev_alloc_skb()/dev_alloc_skb() reserves 16 bytes in the beginning of the
> buffer and since the L1 cache line is 16 bytes it is still L1 cache aligned.
It's the data at the end of the buffer that's the problem. The IP stack (used
to) stores information in dynamically allocated memory that would get corrupted
when buffers were invalidated. There was lots of discussion about this on kernel
and other mailing lists (like mips and arm). After we found it, there was some
discussion about how to fix it, but I didn't follow up on all of the details.
To ensure this works, you have to configure a forwarding/routing multiple
ethernet environment and get the 8xx to forward packets across the links.
That was the failure condition, there are people using 8xx in these configurations,
and we can't introduce a "solution" that has been known to be a problem in
the past.
> You think I just hacked this up and throwed it over the fence?
No, but you could have saved yourself some time by reading the archives.
You could have started with:
http://lists.linuxppc.org/linuxppc-embedded/200008/msg00105.html
and then:
http://lists.linuxppc.org/linuxppc-embedded/200106/msg00078.html
After the problems with the 405gp and tulip driver I started looking around
at the other lists and asking network folks for solutions. They didn't have
any and suggested non coherent processors not dma into skbuffers. We are
fortunate on 8xx that the driver is only used on this processor, so if we
can find some solution it doesn't have to work generically for others. The
networking folks suggested the only solution was to give skbuf allocators
knowledge of cache line sizes, but that was never pursued as far as I know.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2003-02-11 16:03 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-07 13:36 [PATCH] 8xx_io/uart.c Joakim Tjernlund
2003-02-07 16:08 ` Dan Malek
2003-02-07 17:21 ` Joakim Tjernlund
2003-02-09 20:52 ` Dan Malek
2003-02-10 0:29 ` Joakim Tjernlund
2003-02-10 1:08 ` Murray Jensen
2003-02-10 18:52 ` Dan Malek
2003-02-11 1:13 ` Murray Jensen
2003-02-11 16:40 ` Dan Malek
2003-02-11 23:11 ` Murray Jensen
2003-02-11 23:16 ` Murray Jensen
2003-02-11 18:56 ` Tom Rini
2003-02-11 11:16 ` Joakim Tjernlund
2003-02-11 16:03 ` Dan Malek [this message]
2003-02-11 18:07 ` Joakim Tjernlund
2003-02-11 23:54 ` Paul Mackerras
2003-02-14 15:13 ` Joakim Tjernlund
2003-02-14 20:12 ` Dan Malek
2003-02-19 8:43 ` Joakim Tjernlund
-- strict thread matches above, loose matches on Subject: below --
2003-02-07 16:54 Ruhland, Paul
2003-02-07 18:43 ` Joakim Tjernlund
2003-02-10 14:45 ` Joakim Tjernlund
2003-02-10 17:25 ` Tom Rini
2003-02-11 8:33 ` Joakim Tjernlund
[not found] <dan@embeddededge.com>
[not found] ` <3C98DA15.50302@embeddededge.com>
2002-03-21 1:11 ` EV-64260-BP & GT64260 bi_recs Murray Jensen
2002-03-21 6:50 ` Dan Malek
2002-03-21 11:05 ` Murray Jensen
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=3E491EE8.6070503@embeddededge.com \
--to=dan@embeddededge.com \
--cc=Murray.Jensen@csiro.au \
--cc=joakim.tjernlund@lumentis.se \
--cc=linuxppc-embedded@lists.linuxppc.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).