From: Andrea Arcangeli <and...@e-mind.com>
Subject: linux-arca-36
Date: 1998/11/29
Message-ID: <fa.j0v07fv.1bgq29h@ifi.uio.no>#1/1
X-Deja-AN: 416792342
Original-Date: Sun, 29 Nov 1998 16:35:00 +0100 (CET)
Sender: owner-linux-ker...@vger.rutgers.edu
Original-Message-ID: <Pine.LNX.3.96.981129154813.259B-100000@dragon.bogus>
To: linux-ker...@vger.rutgers.edu
X-Sender: and...@dragon.bogus
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Orcpt: rfc822;linux-ker...@vger.rutgers.edu
X-PgP-Public-Key-URL: http://e-mind.com/~andrea/aa.asc
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel
X-Loop: majord...@vger.rutgers.edu

I will upload arca-36 here:

ftp://e-mind.com/pub/linux/kernel-patches/arca-36-against-2.1.130.diff.gz

Differences between 2.1.130:

o	CPU usage improved by waking up the process if the current
	process is the idle one (bug discovered by me, the fix should be 
	the right pointed out by Linus).

o	TCP/IP smart delayed acks feature. It _should_ improve performance
	on slow links that drop packets. It can' t harm (Oops like things)
	but if it decrease performance for you let me know... For major
	details read my email with my patch on this list.

o	My latest lp code, optimized for some new printers and merged a
	lp readback patch from Tim Waugh. I am not aware if somebody
	is going to add my new -T ioctl to tunelp. If somebody will
	send me the tunelp sources (.tar.gz) I can do that. I am too lazy
	to search download the package myself from my slow connection.

o	A lot of jiffies wrap fixes.

o	CTRL+SCROLL-LOCK EIP column will tell useful info. This patch
	will break the compilation everywhere except Alpha and x86.
	Patches for other archs are welcome ;).

o	bttv will not generate 50 irq per sec. Maybe it' s not the
	right thing to do, but since I only watch tv and I only grab video
	I don' t need to waste CPU and L1 cache for 50 irq per sec to know
	how many VSYNC are happened from time 0.

o	little parport_probe anti hang patch. I don' t know if it' s the
	right fix... Philip any news?

o	aic7xxx_timer() change to not depend on the timer code
	implementation. I consider it a cleanup, but Doug Ledford don' t
	agree and told me that bugs (if I understood well). I still can' t
	see where the bug is.
	There' s also another bad thing in the aic7xxx driver that Doug
	Ledford pointed me out: dev_last_reset[] should ne never thouched,
	so it make not a lot of sense to compare dev_last_reset[] with
	jiffies because jiffies could have just wrapped 2/3 times at the
	time of the first scsi device reset.
	I am a bit hurted by how the aic7xxx.c file is long (emacs refuse
	to run the c-mode on it ;) but I am trying to find a clean way to
	fix the thing. I think the trivial fix would be to add a watchdog
	timer that exires every ~0>>2 jiffies and that browse all
	dev_last_reset[] and set them to jiffies - ~0>>2. I also don' t
	know right now if ->last_reset (a field used by the scsi
	mid/high-level drivers) suffers the same jiffies wrap problem...
	Setting a watchdog is not a very clean soultion but will not alter
	the current code and we will not need a new field in the scsi host
	struct for every TARGET...
	My patch convert also a del/add_timer to a mod_timer().

o	timeval/timespec/msec conversions in time.h. I hacked all
	such functions and implemented the new msec_to_jiffies() to
	take care of all overflow I could imagine. If you see other
	overflows tell me.

o	The kernel should compile fine also without sysctl. If this is
	just true also with the stock kernel let me know.

o	update_shared_mappings(). This my function improves a lot
	performance when syncing mmaps shared between processes. All
	other UNIX handle this case fine as linux + my patch.

o	kswapd. My kswapd don' t depends on the jiffies duration and so on
	the speed of the machine. It schedule() as a normal process and
	goes to sleep when needed. I also reinserted the swap interval
	sysctl because now I use __get_free_pages() to wakeup kswapd if
	the system needs memory (to have not to run swap_tick every
	jiffy).

o	swap cache orphan pages are automagically removed from the swap
	cache at exit(2) time. Probably this code is not needed and I have
	not produced numbers so far. It works fine though and probably
	(not sure) could help a bit in very low memory machines... I left
	this code in my tree mainly because it' s more easy for me to
	maintain it until I' ll have the time to do the benchmark... ;)

o	little vmalloc fix

The kernel will boot at uptime = 497 days, this will allow you to catch
jiffies comparison bugs in the first hour because after one hour jiffies
will return to 0. Tell me if you' ll have problems in the first hour. 

Andrea Arcangeli


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/