linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
@ 2003-12-12  3:37 Matt Mackall
  2003-12-12  4:09 ` William Lee Irwin III
  2003-12-12 15:44 ` Tom Rini
  0 siblings, 2 replies; 7+ messages in thread
From: Matt Mackall @ 2003-12-12  3:37 UTC (permalink / raw)
  To: linux-kernel

This is the first release of a new kernel tree dubbed '-tiny' (someone
already took -mm). The aim of this tree is to collect patches that
reduce kernel disk and memory footprint as well as tools for working
on small systems, an area Linux mainstream has been moving away from
since Linus got a real job. Target users are things like embedded
systems, small or legacy desktop folks, and handhelds.

To get the ball rolling, I've thrown in about 50 patches that trim
various bits of the kernel, almost all configurable, and a fair number
may eventually be appropriate for mainline. All the config options are
currently thrown under CONFIG_EMBEDDED and many of the minor tweaks
are covered under a set of config options called CONFIG_CORE_SMALL,
CONFIG_NET_SMALL, and CONFIG_CONSOLE_SMALL.

Nifty things I've included:
 - building with -Os
 - 4k process stacks (via -wli)
 - configurable removal of printk, BUG, and panic() strings
 - configurable HZ
 - configurable support for vm86, core dumps, kcore, sysfs, aio, etc.
 - a very nice kmalloc auditing system via /proc/kmalloc
 - auditing of bootmem usage
 - a system for counting inline instantiations
 - my netpoll/netconsole patches
 - my drivers/char/random fixups

Some items on my todo list:
 - borrow kgdb from -mm
 - merge my netpoll-based kgdb-over-ethernet
 - pageable kernel memory for a select subset of the kernel
 - reduced functionality vt for small gui systems
 - generic lookup/hash management code

How small is -tiny? It's hard to quantify as it's all configurable and
some functionality is more important than others, but my current test
config has full IPv4 net stack and most other important functionality
and will boot comfortably on a 4M x86 box with about 2M
free+buffers+cache.

Bug reports, suggestions, and patch submissions are welcome!

The patch, currently against 2.6.0-test11, can be found at:

 http://selenic.com/tiny/


Full patch list:

# netpoll
#
netpoll-core.patch
tg3-poll.patch
netconsole.patch
#
# random
#
debug-cleanup.patch
fix-random-wait.patch
kill-pool-resize.patch
kill-getstate.patch
pool-rename.patch
pool-init.patch
kill-extract-secondary.patch
bug-on-grb.patch
extract-min-max.patch
debit-entropy.patch
reserved-in-struct.patch
nonblocking-pool.patch
kill-extract-state.patch
kill-md5.patch
kill-sha-variants.patch
random-waitqueue.patch
shrink-random.patch
ln-to-fls.patch
random-sched-clock.patch
kill-rotate.patch
kill-batching.patch
random-credit.patch
tiny-syncookie.patch
static-rnd-pools.patch
#
# akpm
#
gcc-Os-if-embedded.patch
fix-sqrt.patch
scale-min_free_kbytes.patch
config_spinline.patch
#
# new
# 
tiny-extraversion.patch
core-small.patch
config-net-small.patch
console-small.patch
deprecate-inline.patch
audit-bootmem.patch
kmalloc-accounting.patch
change-hz.patch
remove-vm86.patch
ide-hwif.patch
tiny-crc.patch
no-doublefault.patch
nosysfs.patch
tg3-oops.patch
hash-sizes.patch
ether-queue.patch
cache_defer_hash.patch
con_buf.patch
serial-pci.patch
vprintk.patch
kill-ext2-error-buff.patch
kill-ext3-error-buff.patch
kill-printk.patch
tiny-bug.patch
tiny-panic.patch
rolled-md4.patch
kill-ext3-md4.patch
no-elf-core.patch
no-kcore.patch
max-swapfiles.patch
user-hash.patch
futex-queues.patch
proc_alloc_map.patch
ldiscs.patch
tvec_bases.patch
dmi_blacklist.patch
no-translations.patch
unix_socket_table.patch
bh_wait_queue_heads.patch
major_names.patch
chrdevs.patch
pid-max.patch
roll-inflate-crc.patch
no-aio.patch
max_user_rt_prio.patch
ethtool.patch
4k-stacks.patch

-- 
Matt Mackall : http://www.selenic.com : Linux development and consulting

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
  2003-12-12  3:37 [ANNOUNCE] -tiny tree for small systems (2.6.0-test11) Matt Mackall
@ 2003-12-12  4:09 ` William Lee Irwin III
  2003-12-12 15:44 ` Tom Rini
  1 sibling, 0 replies; 7+ messages in thread
From: William Lee Irwin III @ 2003-12-12  4:09 UTC (permalink / raw)
  To: Matt Mackall; +Cc: linux-kernel

On Thu, Dec 11, 2003 at 09:37:34PM -0600, Matt Mackall wrote:
> To get the ball rolling, I've thrown in about 50 patches that trim
> various bits of the kernel, almost all configurable, and a fair number
> may eventually be appropriate for mainline. All the config options are
> currently thrown under CONFIG_EMBEDDED and many of the minor tweaks
> are covered under a set of config options called CONFIG_CORE_SMALL,
> CONFIG_NET_SMALL, and CONFIG_CONSOLE_SMALL.

A small trimming for you:

diff -prauN linux-2.6.0-test11/include/linux/sched.h wli-2.6.0-test11-30/include/linux/sched.h
--- linux-2.6.0-test11/include/linux/sched.h	2003-11-26 12:42:58.000000000 -0800
+++ wli-2.6.0-test11-30/include/linux/sched.h	2003-12-04 08:57:22.000000000 -0800
@@ -205,7 +208,6 @@ struct mm_struct {
 	unsigned long rss, total_vm, locked_vm;
 	unsigned long def_flags;
 	cpumask_t cpu_vm_mask;
-	unsigned long swap_address;
 
 	unsigned long saved_auxv[40]; /* for /proc/PID/auxv */
 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
  2003-12-12  3:37 [ANNOUNCE] -tiny tree for small systems (2.6.0-test11) Matt Mackall
  2003-12-12  4:09 ` William Lee Irwin III
@ 2003-12-12 15:44 ` Tom Rini
  2003-12-12 15:59   ` Matt Mackall
  1 sibling, 1 reply; 7+ messages in thread
From: Tom Rini @ 2003-12-12 15:44 UTC (permalink / raw)
  To: Matt Mackall; +Cc: linux-kernel

On Thu, Dec 11, 2003 at 09:37:34PM -0600, Matt Mackall wrote:

> This is the first release of a new kernel tree dubbed '-tiny' (someone
> already took -mm). The aim of this tree is to collect patches that
> reduce kernel disk and memory footprint as well as tools for working
> on small systems, an area Linux mainstream has been moving away from
> since Linus got a real job. Target users are things like embedded
> systems, small or legacy desktop folks, and handhelds.
> 
> To get the ball rolling, I've thrown in about 50 patches that trim
> various bits of the kernel, almost all configurable, and a fair number
> may eventually be appropriate for mainline. All the config options are
> currently thrown under CONFIG_EMBEDDED and many of the minor tweaks
> are covered under a set of config options called CONFIG_CORE_SMALL,
> CONFIG_NET_SMALL, and CONFIG_CONSOLE_SMALL.
> 
> Nifty things I've included:
>  - building with -Os
>  - 4k process stacks (via -wli)
>  - configurable removal of printk, BUG, and panic() strings
>  - configurable HZ
>  - configurable support for vm86, core dumps, kcore, sysfs, aio, etc.
>  - a very nice kmalloc auditing system via /proc/kmalloc
>  - auditing of bootmem usage
>  - a system for counting inline instantiations
>  - my netpoll/netconsole patches
>  - my drivers/char/random fixups

I'd like to suggest you check out the "tweaks" idea I tossed out here:
http://www.ussg.iu.edu/hypermail/linux/kernel/0211.0/2229.html
If this sounds interesting, I've got a version of the patch (albeit old
and not applying directly right now I bet) that moved things into header
files and got all of the dependancy stuff correct except for the initial
run (so I think I was forcing an update with any make invocation, but
there were no spurious recompiles).

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
  2003-12-12 15:44 ` Tom Rini
@ 2003-12-12 15:59   ` Matt Mackall
  2003-12-12 16:05     ` Tom Rini
  0 siblings, 1 reply; 7+ messages in thread
From: Matt Mackall @ 2003-12-12 15:59 UTC (permalink / raw)
  To: Tom Rini; +Cc: linux-kernel

On Fri, Dec 12, 2003 at 08:44:43AM -0700, Tom Rini wrote:
> On Thu, Dec 11, 2003 at 09:37:34PM -0600, Matt Mackall wrote:
> 
> > This is the first release of a new kernel tree dubbed '-tiny' (someone
> > already took -mm). The aim of this tree is to collect patches that
> > reduce kernel disk and memory footprint as well as tools for working
> > on small systems, an area Linux mainstream has been moving away from
> > since Linus got a real job. Target users are things like embedded
> > systems, small or legacy desktop folks, and handhelds.
> > 
> > To get the ball rolling, I've thrown in about 50 patches that trim
> > various bits of the kernel, almost all configurable, and a fair number
> > may eventually be appropriate for mainline. All the config options are
> > currently thrown under CONFIG_EMBEDDED and many of the minor tweaks
> > are covered under a set of config options called CONFIG_CORE_SMALL,
> > CONFIG_NET_SMALL, and CONFIG_CONSOLE_SMALL.
> > 
> > Nifty things I've included:
> >  - building with -Os
> >  - 4k process stacks (via -wli)
> >  - configurable removal of printk, BUG, and panic() strings
> >  - configurable HZ
> >  - configurable support for vm86, core dumps, kcore, sysfs, aio, etc.
> >  - a very nice kmalloc auditing system via /proc/kmalloc
> >  - auditing of bootmem usage
> >  - a system for counting inline instantiations
> >  - my netpoll/netconsole patches
> >  - my drivers/char/random fixups
> 
> I'd like to suggest you check out the "tweaks" idea I tossed out here:
> http://www.ussg.iu.edu/hypermail/linux/kernel/0211.0/2229.html
> If this sounds interesting, I've got a version of the patch (albeit old
> and not applying directly right now I bet) that moved things into header
> files and got all of the dependancy stuff correct except for the initial
> run (so I think I was forcing an update with any make invocation, but
> there were no spurious recompiles).

Looks cool. My only worry is that to do it right, it has to make some
fairly sweeping changes. I'm trying to keep the stuff in -tiny fairly
small and independent so that stuff can be cherry-picked, but if we
can get a consensus that "tweaks" is a good direction for mainline, it
might prove useful for some of the stuff I'm doing with
CONFIG_CORE_SMALL and friends now. 

-- 
Matt Mackall : http://www.selenic.com : Linux development and consulting

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
  2003-12-12 15:59   ` Matt Mackall
@ 2003-12-12 16:05     ` Tom Rini
  2003-12-12 16:17       ` bill davidsen
  0 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2003-12-12 16:05 UTC (permalink / raw)
  To: Matt Mackall; +Cc: linux-kernel

On Fri, Dec 12, 2003 at 09:59:48AM -0600, Matt Mackall wrote:
> On Fri, Dec 12, 2003 at 08:44:43AM -0700, Tom Rini wrote:
> > On Thu, Dec 11, 2003 at 09:37:34PM -0600, Matt Mackall wrote:
> > 
> > > This is the first release of a new kernel tree dubbed '-tiny' (someone
> > > already took -mm). The aim of this tree is to collect patches that
> > > reduce kernel disk and memory footprint as well as tools for working
> > > on small systems, an area Linux mainstream has been moving away from
> > > since Linus got a real job. Target users are things like embedded
> > > systems, small or legacy desktop folks, and handhelds.
> > > 
> > > To get the ball rolling, I've thrown in about 50 patches that trim
> > > various bits of the kernel, almost all configurable, and a fair number
> > > may eventually be appropriate for mainline. All the config options are
> > > currently thrown under CONFIG_EMBEDDED and many of the minor tweaks
> > > are covered under a set of config options called CONFIG_CORE_SMALL,
> > > CONFIG_NET_SMALL, and CONFIG_CONSOLE_SMALL.
> > > 
> > > Nifty things I've included:
> > >  - building with -Os
> > >  - 4k process stacks (via -wli)
> > >  - configurable removal of printk, BUG, and panic() strings
> > >  - configurable HZ
> > >  - configurable support for vm86, core dumps, kcore, sysfs, aio, etc.
> > >  - a very nice kmalloc auditing system via /proc/kmalloc
> > >  - auditing of bootmem usage
> > >  - a system for counting inline instantiations
> > >  - my netpoll/netconsole patches
> > >  - my drivers/char/random fixups
> > 
> > I'd like to suggest you check out the "tweaks" idea I tossed out here:
> > http://www.ussg.iu.edu/hypermail/linux/kernel/0211.0/2229.html
> > If this sounds interesting, I've got a version of the patch (albeit old
> > and not applying directly right now I bet) that moved things into header
> > files and got all of the dependancy stuff correct except for the initial
> > run (so I think I was forcing an update with any make invocation, but
> > there were no spurious recompiles).
> 
> Looks cool. My only worry is that to do it right, it has to make some
> fairly sweeping changes. I'm trying to keep the stuff in -tiny fairly
> small and independent so that stuff can be cherry-picked, but if we
> can get a consensus that "tweaks" is a good direction for mainline, it
> might prove useful for some of the stuff I'm doing with
> CONFIG_CORE_SMALL and friends now. 

Well part of the problem that came up when this was brought up during
2.5 is that adding a whole bunch of CONFIG options for things Just Won't
Happen (too complex, PITA, etc).  OTOH however, lots of stuff like that
keeps getting in.

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
  2003-12-12 16:05     ` Tom Rini
@ 2003-12-12 16:17       ` bill davidsen
  2003-12-12 16:51         ` Tom Rini
  0 siblings, 1 reply; 7+ messages in thread
From: bill davidsen @ 2003-12-12 16:17 UTC (permalink / raw)
  To: linux-kernel

In article <20031212160508.GO23731@stop.crashing.org>,
Tom Rini  <trini@kernel.crashing.org> wrote:

| Well part of the problem that came up when this was brought up during
| 2.5 is that adding a whole bunch of CONFIG options for things Just Won't
| Happen (too complex, PITA, etc).  OTOH however, lots of stuff like that
| keeps getting in.

But now we have a config section for disabling things which may not be
needed in embedded systems. So there's a fair chance that tweaks and
such can be accepted as long as they're in the area where most will
never go.
-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ANNOUNCE] -tiny tree for small systems (2.6.0-test11)
  2003-12-12 16:17       ` bill davidsen
@ 2003-12-12 16:51         ` Tom Rini
  0 siblings, 0 replies; 7+ messages in thread
From: Tom Rini @ 2003-12-12 16:51 UTC (permalink / raw)
  To: bill davidsen; +Cc: linux-kernel

On Fri, Dec 12, 2003 at 04:17:30PM +0000, bill davidsen wrote:
> In article <20031212160508.GO23731@stop.crashing.org>,
> Tom Rini  <trini@kernel.crashing.org> wrote:
> 
> | Well part of the problem that came up when this was brought up during
> | 2.5 is that adding a whole bunch of CONFIG options for things Just Won't
> | Happen (too complex, PITA, etc).  OTOH however, lots of stuff like that
> | keeps getting in.
> 
> But now we have a config section for disabling things which may not be
> needed in embedded systems. So there's a fair chance that tweaks and
> such can be accepted as long as they're in the area where most will
> never go.

That was the case at the time as well.

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-12-12 16:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-12  3:37 [ANNOUNCE] -tiny tree for small systems (2.6.0-test11) Matt Mackall
2003-12-12  4:09 ` William Lee Irwin III
2003-12-12 15:44 ` Tom Rini
2003-12-12 15:59   ` Matt Mackall
2003-12-12 16:05     ` Tom Rini
2003-12-12 16:17       ` bill davidsen
2003-12-12 16:51         ` Tom Rini

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).