mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Ingo Molnar <mingo@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v2 0/8] scheduler tinification
Date: Wed, 7 Jun 2017 19:49:25 +0100	[thread overview]
Message-ID: <20170607194925.3d498705@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <alpine.LFD.2.20.1706071206070.29475@knanqh.ubzr>

> Next on my list would be a cache-less, completely serialized VFS bypass 
> that has only what's needed to make the link between the read/write 
> syscalls, a filesystem driver and a block driver while preserving the 
> existing kernel APIs. And by being really small, the maintenance cost of 
> a "parallel" implementation isn't very high, certainly much less than 
> trying to maintain a single code path that can scale to both extremes 
> in that case.

So once you've rewritten the tty layer, the device drivers, the VFS and
removed most of the syscalls why even pretend it's Linux any more. It's
something else, and that something else is totally architecturally
incompatible with Linux. That's btw a good thing - trying to fit Linux
directly into such a tiny device isn't sensible because the core
assumptions you make about scalability are just totally different.

IMHO it would be far far better to just borrow the bits that look handy,
and the bits of the ABI you need and put them together as a new OS
kernel. When you look at tiny hardware even core bits of the Linux
architecture like the wait queues are just not sensible uses of memory
and cause fragmentation. The dcache is completely insane in that
environment, the scheduler is total overkill and the networking is easy
to DoS in a tiny memory. The device layer assumes dynamic hot pluggable
device architecture - and that's extremely expensive but nonsensical for
most µcontrollers.

It's easy to put a Unixlike OS in 256K of RAM and a pile of flash. It's
going to be pretty easy to put all the major bits of the Linux API into
it. You can run 2.11BSD with only 256K of writable memory (you need more
in your PDP-11 to run it but if you look all of that in a µcontroller
would live in flash).


Alan

  reply	other threads:[~2017-06-07 18:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-06 23:24 Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 1/8] cpuset/sched: cpuset makes sense for SMP only Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 2/8] sched: omit stop_sched_class when !SMP Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 3/8] futex: make PI support optional Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 4/8] sched/deadline: move dl related code out of sched/core.c Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 5/8] sched/rt: move rt " Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 6/8] sched/deadline: make it configurable Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 7/8] rtmutex: compatibility wrappers when no RT support is configured Nicolas Pitre
2017-06-06 23:24 ` [PATCH v2 8/8] sched/rt: make it configurable Nicolas Pitre
2017-06-07 16:00 ` [PATCH v2 0/8] scheduler tinification Ingo Molnar
2017-06-07 17:09   ` Nicolas Pitre
2017-06-07 18:49     ` Alan Cox [this message]
2017-06-07 21:15       ` Nicolas Pitre
2017-06-07 21:53         ` Alan Cox
2017-06-08  7:59     ` Ingo Molnar
2017-06-08 18:14       ` Alan Cox
2017-06-08 20:16       ` Nicolas Pitre
2017-06-11  9:23         ` Ingo Molnar
2017-06-11 15:26           ` Nicolas Pitre
2017-06-11  9:42         ` Ingo Molnar
2017-06-11 16:45           ` Nicolas Pitre
2017-06-13  7:12             ` Ingo Molnar
2017-06-13 12:29               ` Nicolas Pitre

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=20170607194925.3d498705@lxorguk.ukuu.org.uk \
    --to=gnomes@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=nicolas.pitre@linaro.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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

all inboxes | Powered by JetHome®