lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200804141547.57719.vda.linux@googlemail.com>
Date:	Mon, 14 Apr 2008 15:47:57 +0200
From:	Denys Vlasenko <vda.linux@...glemail.com>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	linux-kernel@...r.kernel.org
Subject: Does process need to have a kernel-side stack all the time?

Hi Ingo,

You are one of the experts in processes/threads and scheduling
in Linux kernel, I hope you can answer this question.

A lot of effort went into minimizing of stack usage.
If I understand it correctly, one of the reasons for this
was to be efficient and not have lots of pages
used for stacks when we have a lot of threads
(tens of thousands).

A random thought occurred to me: in a system with so many
threads most of them are not executing anyway, even on
that gigantic Altix machines. Do they all need to have
kernel stack, all the time? I mean: the process which
is running in user space is not using kernel stack at all.
Process which is not running on a CPU right now
is not using it either. But they do still consume
at least 4k (or 8k on 64bits) of RAM.

Process absolutely must have kernel stack only when
it is actively running in kernel code (not sleeping),
right?

Can we have per-CPU kernel stacks instead, so that process
gets a kernel stack only every time it enters the kernel;
and make it so that the process which is scheduled away
from a CPU does not need to have kernel stack?

Currently, when process sleeps, we save some
state in stack, and such a change may require
some substantial surgery.

Can you tell me whether this is possible at all,
and how difficult you estimate it to be?
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ