LSE Conference Call Minutes from 11/30/01

		Michael Jennings - Large Systems Foundry
		michael@turbolinux.com

Started from the Atlas project which take 
advantage of mckinnly processor. 

Atlas entails 8 major enhancements:

mckinnly, acpi, static domain partitioning, machine check handling,
ccnuma, hotplug suport, dynamic domain partitioning, discontiguous memory

The project started about a year ago.

Recently moved projects to SourceForge. 

The name is now Linux on Large Systems
combined 6 new projecdts with 4 existing ones.

There is an email list with about 40 people
and weekly engineering calls every Thursday at 9:30am

Here are the links to the foundry and other info:

Linux on Large Systems Foundry
http://foundries.sourceforge.net/large/

Linux on Large Systems Mailing List
http://lists.sourceforge.net/lists/listinfo/large-discuss

 -ACPI for Large Systems https://sourceforge.net/projects/acpi-largesys/
 -IA64 Linux MCA recovery https://sourceforge.net/projects/mca-recovery/
 -Discontiguous Memory https://sourceforge.net/projects/discontig/
 -Static Domain Partitioning https://sourceforge.net/projects/sdpart/
 -ccNUMA https://sourceforge.net/projects/lse/
 -Hot Plug Memory https://sourceforge.net/projects/lhms/
 -Hot Plug Processor https://sourceforge.net/projects/lhcs/
 -Hot Plug I/O Node https://sourceforge.net/projects/linux-hotplug/ &
  https://sourceforge.net/projects/pcihpd/


		Ray Bryant - Lockmeter Changes

Current implementation of rwlocks is mostly broken.
Causing a notice at the top of output.
In order to make unlock handling efficient it currently
caches location of statistics lock inside of lock
being measured. Which works fine for spinlocks but for 
rwlocks held in read mode potentially need one of these 
hints for every process in the system. No good place to 
put all that info.

There are a number of single use rw locks
in the kernel. Take a lot of space to allocate them all
in the rw table,  eventually run out of space because
we don't know when to free the info.

Ray has a fix for this. The code is complete and 
tested but it needs some cleanup. However, the data
structures and lockstat program need work. It is 
complicated and will take a few weeks of work.
Anyone volunteering?

Another option is to make locks bigger it would
mean lockstat wouldnt need another datastructure. 
But the original design specified we werent going to 
change the size of the lock. 

Paul McKenney- You don't have a map from virtual address
to lock. If you did have a mapping from virtual addresses
to locks then when memory is freed could free all
locks in that range. 

There are many ways to skin a cat.

Ray- I was really hoping to find out- do people care
about rw locks?

Paul- Here are two other approaches that are more simple
but could be tried: 

1) keep track only of the write side contention level.
	The problem with this is if the read is heavily the 
	write time could be low and you wouldnt see the contention.
	This is similar to what we did in Dynix/PTX, has low overhead.

2) use a counter to keep track of fraction that somebody holds
	lock for read.

Ray- lockstat is set up on a per caller basis. there isnt
really a counter per lock, but a counter per caller of lock.

Paul- there is a place for both having all the info and
having only most the info.