Linux Kernel Mailing List | 1 Nov 05:09 2002

[PATCH] strip pagecache from to-be-reaped inodes

ChangeSet 1.855.9.12, 2002/10/31 20:09:37-08:00, akpm <at> digeo.com

	[PATCH] strip pagecache from to-be-reaped inodes
	
	With large highmem machines and many small cached files it is possible
	to encounter ZONE_NORMAL allocation failures.  This can be demonstrated
	with a large number of one-byte files on a 7G machine.
	
	All lowmem is filled with icache and all those inodes have a small
	amount of highmem pagecache which makes them unfreeable.
	
	The patch strips the pagecache from inodes as they come off the tail of
	the inode_unused list.
	
	I play tricks in there peeking at the head of the inode_unused list to
	pick up the inode again after running iput().  The alternatives seemed
	to involve more widespread changes.
	
	Or running invalidate_inode_pages() under inode_lock which would be a
	bad thing from a scheduling latency and lock contention point of view.

# This patch includes the following deltas:
#	           ChangeSet	1.855.9.11 -> 1.855.9.12
#	          fs/inode.c	1.75    -> 1.76   
#

 inode.c |   86 ++++++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 49 insertions(+), 37 deletions(-)

diff -Nru a/fs/inode.c b/fs/inode.c
(Continue reading)

Linux Kernel Mailing List | 1 Nov 05:40 2002

ACPI: Ensure we don't try to sleep when we shouldn't

ChangeSet 1.844.15.2, 2002/10/31 20:40:22-08:00, agrover <at> groveronline.com

	ACPI: Ensure we don't try to sleep when we shouldn't

# This patch includes the following deltas:
#	           ChangeSet	1.844.15.1 -> 1.844.15.2
#	  drivers/acpi/osl.c	1.11    -> 1.12   
#

 osl.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

diff -Nru a/drivers/acpi/osl.c b/drivers/acpi/osl.c
--- a/drivers/acpi/osl.c	Mon Nov  4 19:24:47 2002
+++ b/drivers/acpi/osl.c	Mon Nov  4 19:24:47 2002
 <at>  <at>  -717,6 +717,9  <at>  <at> 

 	ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Waiting for semaphore[%p|%d|%d]\n", handle, units, timeout));

+	if (in_atomic())
+		timeout = 0;
+
 	switch (timeout)
 	{
 		/*
 <at>  <at>  -838,7 +841,7  <at>  <at> 
 u32
 acpi_os_get_thread_id (void)
 {
-	if (!in_interrupt())
(Continue reading)

Linux Kernel Mailing List | 1 Nov 06:07 2002

Merge groveronline.com:/root/bk/linux-2.5

ChangeSet 1.855.11.1, 2002/10/31 21:07:11-08:00, agrover <at> groveronline.com

	Merge groveronline.com:/root/bk/linux-2.5
	into groveronline.com:/root/bk/linux-acpi

# This patch includes the following deltas:
#	           ChangeSet	1.855.9.22+1.855.10.1 -> 1.855.11.1
#	 drivers/acpi/scan.c	1.7.1.1 -> 1.9    
#

 scan.c |   84 +++++++++++++++++++++++++++++++++--------------------------------
 1 files changed, 43 insertions(+), 41 deletions(-)

diff -Nru a/drivers/acpi/scan.c b/drivers/acpi/scan.c
--- a/drivers/acpi/scan.c	Mon Nov  4 19:24:54 2002
+++ b/drivers/acpi/scan.c	Mon Nov  4 19:24:54 2002
 <at>  <at>  -25,20 +25,52  <at>  <at> 
 static LIST_HEAD(acpi_device_list);
 static spinlock_t acpi_device_lock = SPIN_LOCK_UNLOCKED;

-static int
-acpi_device_register (
-	struct acpi_device	*device,
-	struct acpi_device	*parent)
+static void acpi_device_release(struct kobject * kobj)
 {
-	return acpi_create_dir(device);
+	struct acpi_device * dev = container_of(kobj,struct acpi_device,kobj);
+	kfree(dev);
 }
(Continue reading)

Linux Kernel Mailing List | 1 Nov 05:10 2002

[PATCH] additional arch support for per-cpu kernel_stat

ChangeSet 1.855.9.18, 2002/10/31 20:10:16-08:00, akpm <at> digeo.com

	[PATCH] additional arch support for per-cpu kernel_stat
	
	Companion to the previous patch: all the support needed for non-ia32
	architectures.

# This patch includes the following deltas:
#	           ChangeSet	1.855.9.17 -> 1.855.9.18
#	arch/sparc/kernel/sun4d_irq.c	1.12    -> 1.13   
#	arch/arm/kernel/irq.c	1.17    -> 1.17.1.1
#	arch/sparc64/kernel/smp.c	1.41    -> 1.42   
#	arch/sparc/kernel/irq.c	1.16    -> 1.17   
#	arch/mips/sgi/kernel/indy_int.c	1.3     -> 1.4    
#	arch/ppc/amiga/ints.c	1.4     -> 1.5    
#	arch/mips/philips/nino/irq.c	1.3     -> 1.4    
#	arch/ppc/amiga/amiints.c	1.7     -> 1.8    
#	arch/mips64/sgi-ip22/ip22-int.c	1.5     -> 1.6    
#	arch/mips/kernel/irq.c	1.6     -> 1.7    
#	arch/mips/sgi/kernel/time.c	1.2     -> 1.3    
#	arch/m68k/atari/ataints.c	1.5     -> 1.6    
#	arch/mips64/mips-boards/generic/time.c	1.2     -> 1.3    
#	arch/ppc/amiga/cia.c	1.6     -> 1.7    
#	arch/alpha/kernel/irq_alpha.c	1.7     -> 1.8    
#	arch/mips/au1000/common/time.c	1.1     -> 1.2    
#	arch/sh/kernel/irq.c	1.8     -> 1.9    
#	arch/mips64/sgi-ip27/ip27-timer.c	1.2     -> 1.3    
#	arch/parisc/kernel/irq.c	1.4     -> 1.5    
#	arch/x86_64/kernel/irq.c	1.6     -> 1.7    
#	arch/mips/kernel/time.c	1.5     -> 1.6    
(Continue reading)

Linux Kernel Mailing List | 1 Nov 03:06 2002

Improved support for /proc/bluetooth

ChangeSet 1.857, 2002/10/31 18:06:10-08:00, maxk <at> qualcomm.com

	Improved support for /proc/bluetooth
	- Convert /proc/bluetoth/l2cap to seq_file
	- Convert /proc/bluetoth/rfcomm to seq_file
	- Convert /proc/bluetooth/sco to seq_file
	- Export HCI device info via /proc/bluetooth/hci/N
		 

# This patch includes the following deltas:
#	           ChangeSet	1.856   -> 1.857  
#	net/bluetooth/rfcomm/core.c	1.7     -> 1.8    
#	net/bluetooth/Makefile	1.10    -> 1.11   
#	net/bluetooth/af_bluetooth.c	1.10    -> 1.11   
#	 net/bluetooth/sco.c	1.7     -> 1.8    
#	include/net/bluetooth/rfcomm.h	1.3     -> 1.4    
#	net/bluetooth/hci_core.c	1.11    -> 1.12   
#	include/net/bluetooth/bluetooth.h	1.9     -> 1.10   
#	include/net/bluetooth/hci_core.h	1.7     -> 1.8    
#	net/bluetooth/syms.c	1.6     -> 1.7    
#	net/bluetooth/rfcomm/sock.c	1.8     -> 1.9    
#	net/bluetooth/l2cap.c	1.12    -> 1.13   
#	net/bluetooth/hci_conn.c	1.5     -> 1.6    
#	               (new)	        -> 1.1     net/bluetooth/hci_proc.c
#

 include/net/bluetooth/bluetooth.h |    2 
 include/net/bluetooth/hci_core.h  |   14 ++
 include/net/bluetooth/rfcomm.h    |    2 
 net/bluetooth/Makefile            |    2 
(Continue reading)

Linux Kernel Mailing List | 1 Nov 06:49 2002

[PATCH] ia64: 2.5.44 NUMA fixups

ChangeSet 1.855.8.3, 2002/10/31 21:49:00-08:00, efocht <at> ess.nec.de

	[PATCH] ia64: 2.5.44 NUMA fixups
	
	Dear David,
	
	please find attached two patches for the latest 2.5.44-ia64. They fix
	some problems and simplify things a bit.
	
	remove_nodeid-2.5.44.patch:
	This comes from Kimi. In 2.5.44 we suddenly had two definitions for
	numa_node_id(), one was IA64 specific (local_cpu_data->nodeid) while
	the other one is now platform independent:
	__cpu_to_node(smp_processor_id()). After some discussions we decided
	to remove the nodeid from the local_cpu_data and keep the definition of
	all other platforms. With using the cpu_to_node_map[] we are also
	faster when doing multiple lookups, as all node ids come in a single
	cache line (which is not bounced around, as it's content is only
	read).
	
	
	ia64_topology_fixup-2.5.44.patch:
	I'm following here the latest fixup for i386 from Matthew Dobson. The
	__node_to_cpu_mask() macro now accesses an array which is initialized
	after the ACPI CPU discovery. It also simplifies
	__node_to_first_cpu(). A compiler warning has been fixed, too.
	
	
	Please apply these to your kernel tree.

(Continue reading)

Linux Kernel Mailing List | 1 Nov 05:13 2002

[PATCH] fix sys_lookup_dcookie prototype

ChangeSet 1.855.9.19, 2002/10/31 20:13:06-08:00, levon <at> movementarian.org

	[PATCH] fix sys_lookup_dcookie prototype
	
	We need to use u64 because the future 64-bit ports can theoretically
	return the same value for two different dentries, as pointed out by
	Ulrich Weigand.
	
	The patch also changes return value of the syscall to give length of
	data copied, needed for valgrind support (this bit is by Philippe Elie).
	
	Note this is not a complete fix for mixed 32/64: userspace needs to
	figure out the kernel pointer size when reading from the buffer. But
	that's another fix...
	
	NOTE! any oprofile users will need to upgrade after this goes in, and
	the user-space equivalent is checked into CVS.  Sorry for the inconvenience

# This patch includes the following deltas:
#	           ChangeSet	1.855.9.18 -> 1.855.9.19
#	       fs/dcookies.c	1.2     -> 1.3    
#	drivers/oprofile/buffer_sync.c	1.2     -> 1.3    
#	include/linux/dcookies.h	1.2     -> 1.3    
#

 drivers/oprofile/buffer_sync.c |   24 ++++++++++++------------
 fs/dcookies.c                  |   34 +++++++++++++++++-----------------
 include/linux/dcookies.h       |    4 ++--
 3 files changed, 31 insertions(+), 31 deletions(-)

(Continue reading)

Linux Kernel Mailing List | 1 Nov 05:09 2002

[PATCH] use RCU for IPC locking

ChangeSet 1.855.9.15, 2002/10/31 20:09:56-08:00, akpm <at> digeo.com

	[PATCH] use RCU for IPC locking
	
	Patch from Mingming, Rusty, Hugh, Dipankar, me:
	
	- It greatly reduces the lock contention by having one lock per id.
	  The global spinlock is removed and a spinlock is added in
	  kern_ipc_perm structure.
	
	- Uses ReadCopyUpdate in grow_ary() for locking-free resizing.
	
	- In the places where ipc_rmid() is called, delay calling ipc_free()
	  to RCU callbacks.  This is to prevent ipc_lock() returning an invalid
	  pointer after ipc_rmid().  In addition, use the workqueue to enable
	  RCU freeing vmalloced entries.
	
	Also some other changes:
	
	- Remove redundant ipc_lockall/ipc_unlockall
	
	- Now ipc_unlock() directly takes IPC ID pointer as argument, avoid
	  extra looking up the array.
	
	The changes are made based on the input from Huge Dickens, Manfred
	Spraul and Dipankar Sarma.  In addition, Cliff White has run OSDL's
	dbt1 test on a 2 way against the earlier version of this patch.
	Results shows about 2-6% improvement on the average number of
	transactions per second.  Here is the summary of his tests:
	
(Continue reading)

Linux Kernel Mailing List | 1 Nov 05:09 2002

[PATCH] sys_remap_file_pages

ChangeSet 1.855.9.13, 2002/10/31 20:09:44-08:00, akpm <at> digeo.com

	[PATCH] sys_remap_file_pages
	
	Ingo's remap_file_pages patch.  Supported on ia32, x86-64, sparc
	and sparc64.  Others will need to update mman.h and the syscall
	tables.

# This patch includes the following deltas:
#	           ChangeSet	1.855.9.12 -> 1.855.9.13
#	  include/linux/mm.h	1.93    -> 1.94   
#	include/asm-i386/mman.h	1.2     -> 1.3    
#	include/asm-x86_64/mman.h	1.3     -> 1.4    
#	arch/i386/kernel/entry.S	1.39    -> 1.40   
#	        mm/filemap.c	1.155   -> 1.156  
#	include/asm-sparc64/mman.h	1.2     -> 1.3    
#	           mm/mmap.c	1.58    -> 1.59   
#	         mm/Makefile	1.17    -> 1.18   
#	include/asm-i386/unistd.h	1.18    -> 1.19   
#	include/asm-sparc/mman.h	1.2     -> 1.3    
#	               (new)	        -> 1.1     mm/fremap.c    
#

 arch/i386/kernel/entry.S   |    1 
 include/asm-i386/mman.h    |    2 
 include/asm-i386/unistd.h  |    3 
 include/asm-sparc/mman.h   |    3 
 include/asm-sparc64/mman.h |    3 
 include/asm-x86_64/mman.h  |    2 
 include/linux/mm.h         |    4 +
(Continue reading)

Linux Kernel Mailing List | 1 Nov 05:37 2002

[PATCH] fix UP proc.c compile warning

ChangeSet 1.855.9.23, 2002/10/31 20:37:07-08:00, rml <at> tech9.net

	[PATCH] fix UP proc.c compile warning
	
	The hyper-threading in /proc/cpuinfo patch introduced a compile warning
	under UP.
	
	Fixed thus.

# This patch includes the following deltas:
#	           ChangeSet	1.855.9.22 -> 1.855.9.23
#	arch/i386/kernel/cpu/proc.c	1.5     -> 1.6    
#

 proc.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -Nru a/arch/i386/kernel/cpu/proc.c b/arch/i386/kernel/cpu/proc.c
--- a/arch/i386/kernel/cpu/proc.c	Mon Nov  4 19:24:44 2002
+++ b/arch/i386/kernel/cpu/proc.c	Mon Nov  4 19:24:44 2002
 <at>  <at>  -17,7 +17,6  <at>  <at> 
 	 * applications want to get the raw CPUID data, they should access
 	 * /dev/cpu/≤cpu_nr>/cpuid instead.
 	 */
-	extern int phys_proc_id[NR_CPUS];
 	static char *x86_cap_flags[] = {
 		/* Intel-defined */
 	        "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
 <at>  <at>  -77,6 +76,7  <at>  <at> 
 		seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size);
(Continue reading)


Gmane