Minutes for 1/25 LSE Con Call - compiled by hannal@us.ibm.com

Jesse Barnes <jbarnes@sgi.com>:

		"Memory-Mapped I/O Barriers"
	
Just got a patch accepted into 2.5.  It orders io for their (sgi) IA64 
platform.  The problem was writes from io space from different cpus 
were not gauranteed to arrive in order.  He wrote the Macros in a generic
enough way that other architectures should be able to use it.

So far only Anton from ppc64 has expressed interest in using it.  Jesse
suspects NUMA might have this problem too.  Martin doesnt think IO would 
be gauranteed to arrive in order on IBM's ia32 NUMA either.  But Gerrit 
says it doesnt matter because there is higher level locking that orders
io.  Jesse says locking is not sufficient, need to flush io first. 

Jack Steiner says it takes a very large system (16-32 nodes) to see 
the problem.  Gerrit doesnt think NUMA will have the same problem. 
Jesse said there is a small document describing issue in latest ia64 
patch included in 2.5 (doc is in the patch). 

		"mmtimer patch"

The mmtimer patch is a driver that provides a generic timer interface 
for applications.  It hasnt been submitted for inclusion yet.  He wanted 
to get some feedback first.  Check out archives in http://www.linuxia64.org


Suparna Bhattacharya <suparna@in.ibm.com>:

		"Looking at 2.5 block io changes"

Suparna said now that some of the 2.4 issues have been worked out with 
the new bio structure.  What are the remaining problems that need to be 
solved in the generic block io layer?  Has anyone tried out the 2.5 stuff yet?

o scsi layer using tasklets?  Jesse asked does the scsi layer still use 
	bottom half handlers?  Has it been changed to use tasklets yet? 
	Gerrit said we are looking at doing that for 2.4 havent looked 
	at doing it for 2.5 yet.  Jesse thinks iorequest queue per device 
	locking combined with scsi tasklets instead of bh handlers should help.

o plug and unplug problem: Jesse brought up the problem that when one 
	device is unplugged then all devices are unplugged.  There are times 
	when you want to unplug only one device and leave the others plugged. 
	Suparna said Jens Axboe has had this on his TODO list to fix for some 
	time but last time she checked it was still a problem in 2.5.

o kiobuf - Jesse mentioned that instead of kiobuf need higher level abstraction.
	Ben LaHaise is working it.  It is all about having a way to 
	represent memory fragments abstraction.  kvec is a new interface 
	that aio (asynch io) and bio (block io) use.  kvec might eventually 
	replace kiovec. Jesse said Suparnas' writeup about this is well 
	done and very helpful.  She has posted them on the lse io page.

o Large system problems. Bill Hartner said his team hit four main I/O 
	related problems in testing the 2.4 they are as follows, have 
	they been fixed in 2.5?
	Bounce Buffers Below 4gb - Suparna said this has been fixed.
	Large IO support - Suparna said this has been fixed.
	Bounce Buffers Above 4gb - Suparna is not sure, thinks Dave Miller fixed
	Global io_request_lock - Suparna said this has been fixed.

o Elevator Algorithm - Suparna asked if there is any input on the elevator 
	algorithm?  Gerrit said Oracle has always said they can schedule io 
	better for their needs.  Suparna said Jens Axboe has cleaned up the 
	interface nicely.  Gerrit asked what the granularity is and Suparna 
	said per queue.  Bill Hartner said his gruop has it on their todo 
	list to test removing the elevator algorithm and the results will be 
	sent out to lse-tech in a week or two.  They will use an 8-way with a 
	database workload running rawberry, readv and iorequest_lock patches.