Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Krzysztof Halasa <khc@...>
Cc: Michael-Luke Jones <mlj28@...>, Jeff Garzik <jeff@...>, <netdev@...>, lkml <linux-kernel@...>, Russell King <rmk@...>, ARM Linux Mailing List <linux-arm-kernel@...>
Date: Wednesday, May 9, 2007 - 6:21 am

On Tue, May 08, 2007 at 06:59:36PM +0200, Krzysztof Halasa wrote:

> >> There may be up to 6 Ethernet ports (not sure about hardware

Well, you _would_ like to have a way to make sure that all the
capabilities on the board can be used. If you have a future ixp4xx
based board with 16 ethernet ports, you don't want 'ifconfig eth7 up'
to give you -ENOMEM just because we ran out of SRAM.

The way I see it, that means that you do want to scale back your
other SRAM allocations if you know that you're going to need a lot
of SRAM (say, for ethernet RX/TX queues.)

Either you can do this with an ugly hack a la:

/*
* The FOO board has many ethernet ports, and runs out of
* SRAM prematurely if we use the default TX/RX ring sizes.
*/
#ifdef CONFIG_MACH_IXP483_FOO_BOARD
#define IXP4XX_ETH_RXTX_QUEUE_SIZE 32
#else
#define IXP4XX_ETH_RXTX_QUEUE_SIZE 256
#endif

Or you can put this knowledge in the board support code (cleaner, IMHO.)

E.g. let arch/arm/mach-ixp4xx/nslu2.c decide, at platform device
instantiation time, which region of queue SRAM can be used by which
queue, and take static allocations for things like the crypto unit
into account. (This is just one form of that idea, there are many
different variations.)

That way, you can _guarantee_ that you'll always have enough SRAM
to be able to use the functionality that is exposed on the board you
are running on (which is a desirable property, IMHO), which is
something that you can't achieve with an allocator, as far as I can
see.

I'm not per se against the allocator, I just think that there are
problems (running out of SRAM, fragmentation) that can't be solved
by the allocator alone (SRAM users have to be aware which other SRAM
users there are in the system, while the idea of the allocator is to
insulate these users from each other), and any solution that solves
those two problems IMHO also automatically solves the problem that
the allocator is trying to solve.
-

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Sun May 6, 7:46 pm)
Re: [PATCH 0/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Mon May 7, 9:40 pm)
Re: [PATCH 0/3] Intel IXP4xx network drivers, Leon Woestenberg, (Mon May 7, 4:39 pm)
Re: [PATCH 0/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Mon May 7, 5:21 pm)
[PATCH 2a/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Mon May 7, 6:27 am)
[PATCH 3/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Sun May 6, 8:07 pm)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Lennert Buytenhek, (Tue May 8, 7:40 am)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Michael-Luke Jones, (Mon May 7, 8:59 am)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Mon May 7, 1:12 pm)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Michael-Luke Jones, (Mon May 7, 2:14 pm)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Mon May 7, 3:57 pm)
[PATCH] Intel IXP4xx network drivers v.2 - Ethernet and HSS, Krzysztof Halasa, (Mon May 7, 9:19 pm)
Re: [PATCH] Intel IXP4xx network drivers v.2 - Ethernet and ..., Lennert Buytenhek, (Tue May 8, 10:53 am)
Re: [PATCH] Intel IXP4xx network drivers v.2 - Ethernet and ..., Michael-Luke Jones, (Tue May 8, 3:22 am)
[PATCH] Intel IXP4xx network drivers v.3 - QMGR, Krzysztof Halasa, (Mon May 7, 8:46 pm)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Lennert Buytenhek, (Tue May 8, 7:32 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Krzysztof Halasa, (Tue May 8, 10:12 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Lennert Buytenhek, (Tue May 8, 10:40 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Krzysztof Halasa, (Tue May 8, 12:59 pm)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Lennert Buytenhek, (Wed May 9, 6:21 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Krzysztof Halasa, (Thu May 10, 10:08 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Alexey Zaytsev, (Tue May 8, 8:47 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Lennert Buytenhek, (Tue May 8, 8:59 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Michael-Luke Jones, (Tue May 8, 3:05 am)
Re: [PATCH] Intel IXP4xx network drivers v.3 - QMGR, Krzysztof Halasa, (Tue May 8, 9:57 am)
[PATCH] Intel IXP4xx network drivers v.2 - NPE, Krzysztof Halasa, (Mon May 7, 8:36 pm)
Re: [PATCH] Intel IXP4xx network drivers v.2 - NPE, Michael-Luke Jones, (Tue May 8, 3:02 am)
Re: [PATCH] Intel IXP4xx network drivers v.2 - NPE, Krzysztof Halasa, (Tue May 8, 9:56 am)
[PATCH] Intel IXP4xx network drivers v.2, Krzysztof Halasa, (Mon May 7, 8:11 pm)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Christian Hohnstaedt, (Mon May 7, 1:52 pm)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Mon May 7, 4:00 pm)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Lennert Buytenhek, (Tue May 8, 7:48 am)
Re: [PATCH 3/3] Intel IXP4xx network drivers, Krzysztof Halasa, (Tue May 8, 9:47 am)
[PATCH 2/3] ARM: include IXP4xx "fuses" support, Krzysztof Halasa, (Sun May 6, 8:07 pm)
Re: [PATCH 2/3] ARM: include IXP4xx "fuses" support, Alexey Zaytsev, (Mon May 7, 1:24 am)
Re: [PATCH 2/3] ARM: include IXP4xx "fuses" support, Krzysztof Halasa, (Mon May 7, 6:24 am)
[PATCH] Use menuconfig objects II - netdev/wan, Krzysztof Halasa, (Mon May 7, 5:02 pm)