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>] [day] [month] [year] [list]
Message-Id: <201101061542.37725.kernel@kolivas.org>
Date:	Thu, 6 Jan 2011 15:42:37 +1100
From:	Con Kolivas <kernel@...ivas.org>
To:	linux-kernel@...r.kernel.org
Subject: [ANNOUNCE] BFS cpu scheduler v0.363 for 2.6.37

The BFS (name shall not be said for PG requirements) CPU scheduler for 2.6.37 
is now available.

Since the last release, a lot more work was put into maintaining fine grained 
accounting at all times (which should help on 32 bit machines, uniprocessor 
and 100Hz configs), minor changes have been made to make CPU offline code more 
robust for the purposes of suspend to ram/disk, and some small scalability 
improvements were added for SMT CPUs (eg i7). These changes are unlikely to 
have dramatically noticeable effects unless you were already experiencing a 
problem or poor performance.

A direct link to the patch for 2.6.37 is here:
http://ck.kolivas.org/patches/bfs/2.6.37/2.6.37-sched-bfs-363.patch

All BFS patches here:
http://ck.kolivas.org/patches/bfs

Version 363 has been ported to 2.6.35 and 2.6.32 and available from that 
directory in lieu of the long term release nature of these kernels.


On a related note, a small multi-user server feature request was commissioned 
for BFS that I was happy to work on, which I'd like to also make publicly 
available.

Here is the changelog:

---

Make it possible to proportion CPU resource strictly according to user ID by
grouping all tasks from the one user as one task.

This is done through simply tracking how many tasks from the one UID are
running at any one time and using that data to determine what the virtual
deadline is, offset by proportionately more according to the number of running
tasks. Do this by creating an array of every UID for very quick lookup of the
running value and protect it by the grq lock. This should incur almost
immeasurably small overhead even when enabled. An upper limit of 65535 UIDs
is currently supported.

Make this feature configurable at build time and runtime via Kconfig, and
through the use of sysctls

/proc/sys/kernel/group_by_uid
to enable or disable the feature (default 1 == on), and

/proc/sys/kernel/group_uid_min
to decide the minimum uid to group tasks from (default 1000)

Nice values are still respected, making it possible to allocate different
amounts of CPU to each user.

This feature is most suited to a multi-user shell type server environment and
is NOT recommended for an ordinary desktop.

---
The patch is available for the moment here:
http://ck.kolivas.org/patches/bfs/test/bfs363-group_uids.patch


A reminder that this is NOT a desktop, laptop or embedded device type feature. 
The purpose of this feature is to make it impossible for any one user to get 
more CPU than any other user on a multi-user login. This is suitable for 
multiuser shared GUI/X session or shell type machines, and incurs almost 
negligible overhead.


I'll be offline shortly for a few weeks so I'll be unlikely to respond to any 
emails till I return.


Enjoy,
Con

-- 
-ck
--
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