linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.5.64-mm8
@ 2003-03-16 10:42 Andrew Morton
  2003-03-16 11:45 ` [patch] 2.5.64-mm8: fs/affs/dir.c doesn't compile Adrian Bunk
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Andrew Morton @ 2003-03-16 10:42 UTC (permalink / raw)
  To: linux-kernel, linux-mm


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm8/

. Several fixes to the anticipatory scheduler.  It is the default IO
  scheduler again.

  The main thing which was fixed here was an interesting deadlock involving
  keventd, the I/O scheduler, vfork and request_module().

. I should have mentioned that 2.5.64-mm7 included a CPU scheduler tweak
  from Mike Galbraith which apparently fixes up the various starvation
  problems which people have been experiencing.  That is also in 2.5.64-mm8.



Changes since 2.5.64-mm7:


-ppc64-compat-flock.patch
-ppc64-eeh-fix.patch
-ppc64-socketcall-fix.patch
-register-tty_devclass.patch

 Merged

+proc-sys-debug.patch

 Create /proc/sys/debug/0 ...  /proc/sys/debug/5.  These appear in the
 kernel as 

	int proc_sys_debug[8];

 These are not used for anyting - it is for ah-hoc debugging convenience.

+as-jumbo-fix.patch
+as-request_fn-in-timer.patch
+as-remove-request-fix.patch

 Anticipatory scheduler fixes

-deadline-default.patch

 Make the anticipatory scheduler the default again.

+unplug-from-timer.patch

 Call q->unplug_fn direct from timer context rather than via
 schedule_work().

+ext2-no-lock_super-set-s_dirt.patch
+ext2-ialloc-no-lock_super.patch
+ext2-ialloc-no-lock_super-fixes.patch

 Avoid lock_super() in the ext2 inode allocator

+pci-update-1.patch

 Update for Russell's PCI rework.

+affs-lock_kernel-fix.patch

 Missing an unlock_kernel().  (Why didn't any of the checkers notice this?)

+lseek-ext2_readdir.patch

 Remove the lock_kernel()s in ext2_readdir/ext3_readdir

+inode_setattr-lock_kernel-removal.patch

 Remove the lock_kernel() around inode_setattr's vmtruncate() call.

+raid0-oops-fix.patch

 Fix oops in RAID0.



All 124 patches:

linus.patch
  Latest from Linus

mm.patch
  add -mmN to EXTRAVERSION

kgdb.patch

proc-sys-debug.patch
  create /proc/sys/debug/0 ... 7

noirqbalance-fix.patch
  Fix noirqbalance

config_spinline.patch
  uninline spinlocks for profiling accuracy.

ppc64-reloc_hide.patch

ppc64-pci-patch.patch
  Subject: pci patch

ppc64-aio-32bit-emulation.patch
  32/64bit emulation for aio

ppc64-64-bit-exec-fix.patch
  Pass the load address into ELF_PLAT_INIT()

ppc64-scruffiness.patch
  Fix some PPC64 compile warnings

sym-do-160.patch
  make the SYM driver do 160 MB/sec

config-PAGE_OFFSET.patch
  Configurable kenrel/user memory split

ptrace-flush.patch
  cache flushing in the ptrace code

buffer-debug.patch
  buffer.c debugging

warn-null-wakeup.patch

ext3-truncate-ordered-pages.patch
  ext3: explicitly free truncated pages

reiserfs_file_write-5.patch

tcp-wakeups.patch
  Use fast wakeups in TCP/IPV4

rcu-stats.patch
  RCU statistics reporting

ext3-journalled-data-assertion-fix.patch
  Remove incorrect assertion from ext3

nfs-speedup.patch

nfs-oom-fix.patch
  nfs oom fix

sk-allocation.patch
  Subject: Re: nfs oom

nfs-more-oom-fix.patch

rpciod-atomic-allocations.patch
  Make rcpiod use atomic allocations

linux-isp.patch

isp-update-1.patch

remove-unused-congestion-stuff.patch
  Subject: [PATCH] remove unused congestion stuff

as-iosched.patch
  anticipatory I/O scheduler

as-debug-BUG-fix.patch

as-eject-BUG-fix.patch
  AS: don't go BUG during cdrom eject

as-jumbo-fix.patch
  AS: OSDL fixes

as-request_fn-in-timer.patch
  Remove the scheduled_work thing

as-remove-request-fix.patch

cfq-2.patch
  CFQ scheduler, #2

unplug-from-timer.patch

smalldevfs.patch
  smalldevfs

remap-file-pages-2.5.63-a1.patch
  Subject: [patch] remap-file-pages-2.5.63-A1

hugh-remap-fix.patch
  hugh's file-offset-in-pte fix

fremap-limit-offsets.patch
  fremap: limit remap_file_pages() file offsets

fremap-all-mappings.patch
  Make all executable mappings be nonlinear

filemap_populate-speedup.patch
  filemap_populate speedup

file-offset-in-pte-x86_64.patch
  x86_64: support for file offsets in pte's

file-offset-in-pte-ppc64.patch

objrmap-2.5.62-5.patch
  object-based rmap

objrmap-nonlinear-fixes.patch
  objrmap fix for nonlinear

scheduler-tunables.patch
  scheduler tunables

scheduler-starvation-fixes.patch
  CPU scheduler starvation fixes

timer-cleanup.patch
  timer code cleanup

timer-readdition-fix.patch
  timer re-addition lockup fix

show_task-free-stack-fix.patch
  show_task() fix and cleanup

yellowfin-set_bit-fix.patch
  yellowfin driver set_bit fix

htree-nfs-fix.patch
  Fix ext3 htree / NFS compatibility problems

update_atime-ng.patch
  inode a/c/mtime modification speedup

one-sec-times.patch
  Implement a/c/time speedup in ext2 & ext3

task_prio-fix.patch
  simple task_prio() fix

set_current_state-fs.patch
  use set_current_state in fs

set_current_state-mm.patch
  use set_current_state in mm

copy_thread-leak-fix.patch
  Fix memory leak in copy_thread

slab_store_user-large-objects.patch
  slab debug: perform redzoning against larger objects

file_list_lock-contention-fix.patch
  file_list_lock contention fixes

tty_files-fixes.patch
  file->f_list locking in tty_io.c

file_list_cleanup.patch
  file_list cleanup

file_list-remove-free_list.patch
  file_table: remove the private freelist

file-list-less-locking.patch
  file_list: less locking

vt_ioctl-stack-use.patch
  stack reduction in drivers/char/vt_ioctl.c

fix-mem-equals.patch
  Fix mem= options

no-mmu-stubs.patch
  a few missing stubs for !CONFIG_MMU

nommu-slab.patch
  slab changes for !CONFIG_MMU

nfs-memleak-fix.patch
  memleak in fs/nfs/inode.c::nfs_get_sb()

ufs-memleak-fix.patch
  Memleak in fs/ufs/util.c

hugetlb-unmap_vmas-fix.patch
  fix the fix for unmap_vmas & hugepages

early-writeback-init.patch
  Early writeback initialisation

posix-timers-update.patch
  posix timers update

e100-memleak-fix.patch
  Memleak in e100 driver

pcmcia-1-kill-get_foo_map.patch
  pcmcia: 1/6 kill get_*_map

pcmcia-2-remove-bus_foo-abstractions.patch
  pcmcia: 2/6: Remove bus_* abstractions

pcmcia-3-add-SOCKET_CARDBUS_CONFIG.patch
  pcmcia: 3/6: add SOCKET_CARDBUS_CONFIG flag

pcmcia-4-add-locking.patch
  pcmcia: 4/6: Add some locking to rsrc_mgr.c

pcmcia-5-add-CONFIG_PCMCIA_PROBE.patch
  pcmcia 5/6: Introduce CONFIG_PCMCIA_PROBE

pcmcia-6-remove-old-cardbus-clients.patch
  pcmcia: 6/6: Remove support for old cardbus clients

oops-counters.patch
  OOPS instance counters

io_apic-DO_ACTION-cleanup.patch
  io-apic.c: DO_ACTION cleanup

ext2-ext3-noatime-fix.patch
  Ext2/3 noatime and dirsync sometimes ignored

oprofile-timer-fix.patch
  fix oprofile timer race

htree-nfs-fix-2.patch
  htree nfs fix

ext2-balloc-fix.patch
  ext2: block allocation fix

ext2-no-lock_super.patch
  concurrent block allocation for ext2

ext2-no-lock-super-whitespace-fixes.patch

ext2-no-lock_super-fix-1.patch

ext2-no-lock_super-fix-2.patch

ext2-no-lock_super-fix-3.patch

ext2-no-lock_super-fix-4.patch

ext2-no-lock_super-fix-5.patch

ext2-no-lock_super-fix-6.patch

ext2-no-lock_super-fix-7.patch

ext2-no-lock_super-set-s_dirt.patch
  ext2 block allocator: set s_dirt

ext2-ialloc-no-lock_super.patch
  concurrent inode allocation for ext2

ext2-ialloc-no-lock_super-fixes.patch
  ext2: concurrent ialloc fixes

brlock-removal-1.patch
  Brlock removal 1/5 - core

brlock-removal-2.patch
  brlock removal 2/5: remove brlock from snap and vlan

brlock-removal-3.patch
  brlock removal 3/5: remove brlock from bridge

brlock-removal-4.patch
  brlock removal 4/5: removal from ipv4/ipv6

brlock-removal-5.patch
  brlock removal 5/5: remove brlock code

pgd_index-comments.patch
  pgd_index/pmd_index/pte_index commentary

pci-6.patch

pci-7.patch

pci-8.patch

pci-9.patch

pci-10.patch

pci-11.patch

pci-12.patch

pci-13.patch

pci-14.patch

pci-15.patch

pci-update-1.patch
  PCI patches: update

proc-sysrq-trigger.patch
  /proc/sysrq-trigger: trigger sysrq functions via /proc

aio-bits-fix.patch
  kiocbClear should use clear_bit instead of set_bit

clean-inode-fix.patch
  initialise inode->i_rdev

affs-lock_kernel-fix.patch
  affs unlock_kernel() fix

lseek-ext2_readdir.patch
  remove lock_kernel() from readdir implementations.

inode_setattr-lock_kernel-removal.patch
  remove lock_kernel() from inode_setattr's vmtruncate() call

raid0-oops-fix.patch
  fix raid0 oops




^ permalink raw reply	[flat|nested] 17+ messages in thread

* [patch] 2.5.64-mm8: fs/affs/dir.c doesn't compile
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
@ 2003-03-16 11:45 ` Adrian Bunk
  2003-03-16 12:21 ` 2.5.64-mm8 Roman Zippel
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 11:45 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Sun, Mar 16, 2003 at 02:42:39AM -0800, Andrew Morton wrote:
>...
> +affs-lock_kernel-fix.patch
> 
>  Missing an unlock_kernel().  (Why didn't any of the checkers notice this?)
>...

It seems noone tried to compile the patched file:

<--  snip  -->

...
  gcc -Wp,-MD,fs/affs/.dir.o.d -D__KERNEL__ -Iinclude -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-pipe -mpreferred-stack-boundary=2 -march=k6 
-Iinclude/asm-i386/mach-default -g -nostdinc -iwithprefix include    
-DKBUILD_BASENAME=dir -DKBUILD_MODNAME=affs -c -o fs/affs/dir.o 
fs/affs/dir.c
fs/affs/dir.c: In function `affs_readdir':
fs/affs/dir.c:81: `ret' undeclared (first use in this function)
fs/affs/dir.c:81: (Each undeclared identifier is reported only once
fs/affs/dir.c:81: for each function it appears in.)
make[2]: *** [fs/affs/dir.o] Error 1

<--  snip  -->


The following patch solves it:


--- linux-2.5.64-mm8/fs/affs/dir.c.old	2003-03-16 12:39:54.000000000 +0100
+++ linux-2.5.64-mm8/fs/affs/dir.c	2003-03-16 12:43:30.000000000 +0100
@@ -78,7 +78,7 @@
 	if (f_pos == 0) {
 		filp->private_data = (void *)0;
 		if (filldir(dirent, ".", 1, f_pos, inode->i_ino, DT_DIR) < 0) {
-			ret = 0;
+			res = 0;
 			goto out;
 		}
 		filp->f_pos = f_pos = 1;




cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
  2003-03-16 11:45 ` [patch] 2.5.64-mm8: fs/affs/dir.c doesn't compile Adrian Bunk
@ 2003-03-16 12:21 ` Roman Zippel
  2003-03-16 13:02 ` 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile Adrian Bunk
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Roman Zippel @ 2003-03-16 12:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm

Hi,

On Sun, 16 Mar 2003, Andrew Morton wrote:

> +affs-lock_kernel-fix.patch
> 
>  Missing an unlock_kernel().  (Why didn't any of the checkers notice this?)

Could you replace this the patch below?
It removes the kernel lock completely and also fixes a bitmap corruption.

bye, Roman

--- linux/fs/affs/Changes	18 May 2002 12:58:27 -0000	1.1.1.2
+++ linux/fs/affs/Changes	16 Mar 2003 00:35:30 -0000
@@ -28,6 +28,11 @@ Known bugs:
 
 Please direct bug reports to: zippel@linux-m68k.org
 
+Version 3.20
+------------
+- kill kernel lock
+- fix for a possible bitmap corruption
+
 Version 3.19
 ------------
 
--- linux/fs/affs/bitmap.c	25 May 2002 16:20:39 -0000	1.1.1.8
+++ linux/fs/affs/bitmap.c	16 Mar 2003 00:35:31 -0000
@@ -185,6 +185,8 @@ find_bmap:
 	/* search for the next bmap buffer with free bits */
 	i = sbi->s_bmap_count;
 	do {
+		if (--i < 0)
+			goto err_full;
 		bmap++;
 		bm++;
 		if (bmap < sbi->s_bmap_count)
@@ -192,8 +194,6 @@ find_bmap:
 		/* restart search at zero */
 		bmap = 0;
 		bm = sbi->s_bitmap;
-		if (--i <= 0)
-			goto err_full;
 	} while (!bm->bm_free);
 	blk = bmap * sbi->s_bmap_bits;
 
@@ -216,8 +216,8 @@ find_bmap_bit:
 	mask = ~0UL << (bit & 31);
 	blk &= ~31UL;
 
-	tmp = be32_to_cpu(*data) & mask;
-	if (tmp)
+	tmp = be32_to_cpu(*data);
+	if (tmp & mask)
 		goto find_bit;
 
 	/* scan the rest of the buffer */
@@ -230,10 +230,11 @@ find_bmap_bit:
 			goto find_bmap;
 	} while (!(tmp = *data));
 	tmp = be32_to_cpu(tmp);
+	mask = ~0;
 
 find_bit:
 	/* finally look for a free bit in the word */
-	bit = ffs(tmp) - 1;
+	bit = ffs(tmp & mask) - 1;
 	blk += bit + sbi->s_reserved;
 	mask2 = mask = 1 << (bit & 31);
 	AFFS_I(inode)->i_lastalloc = blk;
@@ -266,8 +267,8 @@ err_bh_read:
 	sbi->s_bmap_bh = NULL;
 	sbi->s_last_bmap = ~0;
 err_full:
-	pr_debug("failed\n");
 	up(&sbi->s_bmlock);
+	pr_debug("failed\n");
 	return 0;
 }
 
--- linux/fs/affs/dir.c	11 Nov 2002 18:56:16 -0000	1.1.1.6
+++ linux/fs/affs/dir.c	16 Mar 2003 00:35:31 -0000
@@ -65,8 +65,6 @@ affs_readdir(struct file *filp, void *di
 	int			 stored;
 	int			 res;
 
-	lock_kernel();
-	
 	pr_debug("AFFS: readdir(ino=%lu,f_pos=%lx)\n",inode->i_ino,(unsigned long)filp->f_pos);
 
 	stored = 0;
@@ -162,7 +160,6 @@ readdir_out:
 	affs_brelse(dir_bh);
 	affs_brelse(fh_bh);
 	affs_unlock_dir(inode);
-	unlock_kernel();
 	pr_debug("AFFS: readdir()=%d\n", stored);
 	return res;
 }
--- linux/fs/affs/inode.c	18 Nov 2002 18:46:35 -0000	1.1.1.10
+++ linux/fs/affs/inode.c	16 Mar 2003 00:35:31 -0000
@@ -195,11 +195,9 @@ affs_write_inode(struct inode *inode, in
 	if (!inode->i_nlink)
 		// possibly free block
 		return;
-	lock_kernel();
 	bh = affs_bread(sb, inode->i_ino);
 	if (!bh) {
 		affs_error(sb,"write_inode","Cannot read block %lu",inode->i_ino);
-		unlock_kernel();
 		return;
 	}
 	tail = AFFS_TAIL(sb, bh);
@@ -227,7 +225,7 @@ affs_write_inode(struct inode *inode, in
 	affs_fix_checksum(sb, bh);
 	mark_buffer_dirty_inode(bh, inode);
 	affs_brelse(bh);
-	unlock_kernel();
+	affs_free_prealloc(inode);
 }
 
 int
@@ -236,8 +234,6 @@ affs_notify_change(struct dentry *dentry
 	struct inode *inode = dentry->d_inode;
 	int error;
 
-	lock_kernel();
-
 	pr_debug("AFFS: notify_change(%lu,0x%x)\n",inode->i_ino,attr->ia_valid);
 
 	error = inode_change_ok(inode,attr);
@@ -257,7 +253,6 @@ affs_notify_change(struct dentry *dentry
 	if (!error && (attr->ia_valid & ATTR_MODE))
 		mode_to_prot(inode);
 out:
-	unlock_kernel();
 	return error;
 }
 
@@ -265,15 +260,13 @@ void
 affs_put_inode(struct inode *inode)
 {
 	pr_debug("AFFS: put_inode(ino=%lu, nlink=%u)\n", inode->i_ino, inode->i_nlink);
-	lock_kernel();
 	affs_free_prealloc(inode);
 	if (atomic_read(&inode->i_count) == 1) {
+		down(&inode->i_sem);
 		if (inode->i_size != AFFS_I(inode)->mmu_private)
 			affs_truncate(inode);
-		//if (inode->i_nlink)
-		//	affs_clear_inode(inode);
+		up(&inode->i_sem);
 	}
-	unlock_kernel();
 }
 
 void
@@ -284,9 +277,7 @@ affs_delete_inode(struct inode *inode)
 	if (S_ISREG(inode->i_mode))
 		affs_truncate(inode);
 	clear_inode(inode);
-	lock_kernel();
 	affs_free_block(inode->i_sb, inode->i_ino);
-	unlock_kernel();
 }
 
 void
--- linux/fs/affs/namei.c	11 Nov 2002 18:56:17 -0000	1.1.1.8
+++ linux/fs/affs/namei.c	16 Mar 2003 00:35:31 -0000
@@ -218,12 +218,10 @@ affs_lookup(struct inode *dir, struct de
 
 	pr_debug("AFFS: lookup(\"%.*s\")\n",(int)dentry->d_name.len,dentry->d_name.name);
 
-	lock_kernel();
 	affs_lock_dir(dir);
 	bh = affs_find_entry(dir, dentry);
 	affs_unlock_dir(dir);
 	if (IS_ERR(bh)) {
-		unlock_kernel();
 		return ERR_PTR(PTR_ERR(bh));
 	}
 	if (bh) {
@@ -240,12 +238,10 @@ affs_lookup(struct inode *dir, struct de
 		affs_brelse(bh);
 		inode = iget(sb, ino);
 		if (!inode) {
-			unlock_kernel();
 			return ERR_PTR(-EACCES);
 		}
 	}
 	dentry->d_op = AFFS_SB(sb)->s_flags & SF_INTL ? &affs_intl_dentry_operations : &affs_dentry_operations;
-	unlock_kernel();
 	d_add(dentry, inode);
 	return NULL;
 }
@@ -253,17 +249,10 @@ affs_lookup(struct inode *dir, struct de
 int
 affs_unlink(struct inode *dir, struct dentry *dentry)
 {
-	int res;
 	pr_debug("AFFS: unlink(dir=%d, \"%.*s\")\n", (u32)dir->i_ino,
 		 (int)dentry->d_name.len, dentry->d_name.name);
 
-	if (!dentry->d_inode)
-		return -ENOENT;
-
-	lock_kernel();
-	res = affs_remove_header(dentry);
-	unlock_kernel();
-	return res;
+	return affs_remove_header(dentry);
 }
 
 int
@@ -276,12 +265,9 @@ affs_create(struct inode *dir, struct de
 	pr_debug("AFFS: create(%lu,\"%.*s\",0%o)\n",dir->i_ino,(int)dentry->d_name.len,
 		 dentry->d_name.name,mode);
 
-	lock_kernel();
 	inode = affs_new_inode(dir);
-	if (!inode) {
-		unlock_kernel();
+	if (!inode)
 		return -ENOSPC;
-	}
 
 	inode->i_mode = mode;
 	mode_to_prot(inode);
@@ -294,10 +280,8 @@ affs_create(struct inode *dir, struct de
 	if (error) {
 		inode->i_nlink = 0;
 		iput(inode);
-		unlock_kernel();
 		return error;
 	}
-	unlock_kernel();
 	return 0;
 }
 
@@ -310,12 +294,9 @@ affs_mkdir(struct inode *dir, struct den
 	pr_debug("AFFS: mkdir(%lu,\"%.*s\",0%o)\n",dir->i_ino,
 		 (int)dentry->d_name.len,dentry->d_name.name,mode);
 
-	lock_kernel();
 	inode = affs_new_inode(dir);
-	if (!inode) {
-		unlock_kernel();
+	if (!inode)
 		return -ENOSPC;
-	}
 
 	inode->i_mode = S_IFDIR | mode;
 	mode_to_prot(inode);
@@ -328,10 +309,8 @@ affs_mkdir(struct inode *dir, struct den
 		inode->i_nlink = 0;
 		mark_inode_dirty(inode);
 		iput(inode);
-		unlock_kernel();
 		return error;
 	}
-	unlock_kernel();
 	return 0;
 }
 
@@ -357,14 +336,10 @@ affs_symlink(struct inode *dir, struct d
 	pr_debug("AFFS: symlink(%lu,\"%.*s\" -> \"%s\")\n",dir->i_ino,
 		 (int)dentry->d_name.len,dentry->d_name.name,symname);
 
-	lock_kernel();
 	maxlen = AFFS_SB(sb)->s_hashsize * sizeof(u32) - 1;
-	error = -ENOSPC;
 	inode  = affs_new_inode(dir);
-	if (!inode) {
-		unlock_kernel();
+	if (!inode)
 		return -ENOSPC;
-	}
 
 	inode->i_op = &affs_symlink_inode_operations;
 	inode->i_data.a_ops = &affs_symlink_aops;
@@ -410,7 +385,6 @@ affs_symlink(struct inode *dir, struct d
 	error = affs_add_entry(dir, inode, dentry, ST_SOFTLINK);
 	if (error)
 		goto err;
-	unlock_kernel();
 
 	return 0;
 
@@ -418,7 +392,6 @@ err:
 	inode->i_nlink = 0;
 	mark_inode_dirty(inode);
 	iput(inode);
-	unlock_kernel();
 	return error;
 }
 
@@ -426,23 +399,11 @@ int
 affs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
 {
 	struct inode *inode = old_dentry->d_inode;
-	int error;
 
 	pr_debug("AFFS: link(%u, %u, \"%.*s\")\n", (u32)inode->i_ino, (u32)dir->i_ino,
 		 (int)dentry->d_name.len,dentry->d_name.name);
 
-	lock_kernel();
-	error = affs_add_entry(dir, inode, dentry, ST_LINKFILE);
-	if (error) {
-		/* WTF??? */
-		inode->i_nlink = 0;
-		mark_inode_dirty(inode);
-		iput(inode);
-		unlock_kernel();
-		return error;
-	}
-	unlock_kernel();
-	return 0;
+	return affs_add_entry(dir, inode, dentry, ST_LINKFILE);
 }
 
 int
@@ -453,21 +414,19 @@ affs_rename(struct inode *old_dir, struc
 	struct buffer_head *bh = NULL;
 	int retval;
 
-	lock_kernel();
 	pr_debug("AFFS: rename(old=%u,\"%*s\" to new=%u,\"%*s\")\n",
 		 (u32)old_dir->i_ino, (int)old_dentry->d_name.len, old_dentry->d_name.name,
 		 (u32)new_dir->i_ino, (int)new_dentry->d_name.len, new_dentry->d_name.name);
 
-	if ((retval = affs_check_name(new_dentry->d_name.name,new_dentry->d_name.len)))
-		goto done;
+	retval = affs_check_name(new_dentry->d_name.name,new_dentry->d_name.len);
+	if (retval)
+		return retval;
 
 	/* Unlink destination if it already exists */
 	if (new_dentry->d_inode) {
 		retval = affs_remove_header(new_dentry);
-		if (retval) {
-			unlock_kernel();
+		if (retval)
 			return retval;
-		}
 	}
 
 	retval = -EIO;
@@ -493,6 +452,5 @@ affs_rename(struct inode *old_dir, struc
 done:
 	mark_buffer_dirty_inode(bh, retval ? old_dir : new_dir);
 	affs_brelse(bh);
-	unlock_kernel();
 	return retval;
 }
--- linux/fs/affs/super.c	27 Jan 2003 21:03:20 -0000	1.1.1.15
+++ linux/fs/affs/super.c	16 Mar 2003 00:35:31 -0000
@@ -40,7 +40,6 @@ static void
 affs_put_super(struct super_block *sb)
 {
 	struct affs_sb_info *sbi = AFFS_SB(sb);
-	lock_kernel();
 	pr_debug("AFFS: put_super()\n");
 
 	if (!(sb->s_flags & MS_RDONLY)) {
@@ -58,7 +57,6 @@ affs_put_super(struct super_block *sb)
 	affs_brelse(sbi->s_root_bh);
 	kfree(sbi);
 	sb->s_fs_info = NULL;
-	unlock_kernel();
 	return;
 }
 
@@ -67,7 +65,7 @@ affs_write_super(struct super_block *sb)
 {
 	int clean = 2;
 	struct affs_sb_info *sbi = AFFS_SB(sb);
-	lock_kernel();
+
 	if (!(sb->s_flags & MS_RDONLY)) {
 		//	if (sbi->s_bitmap[i].bm_bh) {
 		//		if (buffer_dirty(sbi->s_bitmap[i].bm_bh)) {
@@ -81,7 +79,7 @@ affs_write_super(struct super_block *sb)
 	} else
 		sb->s_dirt = 0;
 
-	unlock_kernel();
+	pr_debug("AFFS: write_super() at %lu, clean=%d\n", get_seconds(), clean);
 }
 
 static kmem_cache_t * affs_inode_cachep;
--- linux/fs/affs/symlink.c	11 Nov 2002 18:56:17 -0000	1.1.1.5
+++ linux/fs/affs/symlink.c	16 Mar 2003 00:35:31 -0000
@@ -32,9 +32,7 @@ static int affs_symlink_readpage(struct 
 	pr_debug("AFFS: follow_link(ino=%lu)\n",inode->i_ino);
 
 	err = -EIO;
-	lock_kernel();
 	bh = affs_bread(inode->i_sb, inode->i_ino);
-	unlock_kernel();
 	if (!bh)
 		goto fail;
 	i  = 0;
@@ -63,9 +61,7 @@ static int affs_symlink_readpage(struct 
 		j++;
 	}
 	link[i] = '\0';
-	lock_kernel();
 	affs_brelse(bh);
-	unlock_kernel();
 	SetPageUptodate(page);
 	kunmap(page);
 	unlock_page(page);


^ permalink raw reply	[flat|nested] 17+ messages in thread

* 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
  2003-03-16 11:45 ` [patch] 2.5.64-mm8: fs/affs/dir.c doesn't compile Adrian Bunk
  2003-03-16 12:21 ` 2.5.64-mm8 Roman Zippel
@ 2003-03-16 13:02 ` Adrian Bunk
  2003-03-16 15:44   ` Adrian Bunk
  2003-03-16 18:00   ` Adrian Bunk
  2003-03-16 13:43 ` [patch] 2.5.64-mm8: miropcm20-rds.c " Adrian Bunk
                   ` (4 subsequent siblings)
  7 siblings, 2 replies; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 13:02 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds, chas, linux-atm-general; +Cc: linux-kernel

On Sun, Mar 16, 2003 at 02:42:39AM -0800, Andrew Morton wrote:
>...
> All 124 patches:
> 
> linus.patch
>   Latest from Linus
>...

The following problem seems to come from Linus' tree:

tx_inuse was removed from struct atm_vcc in include/linux/atmdev.h but 
drivers/atm/idt77252.c still needs it:

<--  snip  -->

...
  gcc -Wp,-MD,drivers/atm/.idt77252.o.d -D__KERNEL__ -Iinclude -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-pipe -mpreferred-stack-boundary=2 -march=k6 
-Iinclude/asm-i386/mach-default -g -nostdinc -iwithprefix include  -g  
-DKBUILD_BASENAME=idt77252 -DKBUILD_MODNAME=idt77252 -c -o 
drivers/atm/idt77252.o drivers/atm/idt77252.c
drivers/atm/idt77252.c: In function `alloc_scq':
drivers/atm/idt77252.c:669: warning: unsigned int format, different type arg (arg 5)
drivers/atm/idt77252.c: In function `push_on_scq':
drivers/atm/idt77252.c:733: structure has no member named `tx_inuse'
drivers/atm/idt77252.c: In function `idt77252_send_oam':
drivers/atm/idt77252.c:2028: structure has no member named `tx_inuse'
make[2]: *** [drivers/atm/idt77252.o] Error 1

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [patch] 2.5.64-mm8: miropcm20-rds.c doesn't compile
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
                   ` (2 preceding siblings ...)
  2003-03-16 13:02 ` 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile Adrian Bunk
@ 2003-03-16 13:43 ` Adrian Bunk
  2003-03-16 13:49 ` 2.5.64-mm8 Mike Galbraith
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 13:43 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds, Christoph Hellwig; +Cc: linux-kernel

On Sun, Mar 16, 2003 at 02:42:39AM -0800, Andrew Morton wrote:
>...
> All 124 patches:
> 
> linus.patch
>   Latest from Linus
>...

Another compile error that seems to come from Linus' tree:

<--  snip  -->

...
  gcc -Wp,-MD,drivers/media/radio/.miropcm20-rds.o.d -D__KERNEL__ 
-Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 
-march=k6 -Iinclude/asm-i386/mach-default -g -nostdinc -iwithprefix include    -DKBUILD_BASENAME=miropcm20_rds 
-DKBUILD_MODNAME=miropcm20_rds -c -o drivers/media/radio/miropcm20-rds.o 
drivers/media/radio/miropcm20-rds.c
drivers/media/radio/miropcm20-rds.c:117: request for member `fops' in something not a structure or union
drivers/media/radio/miropcm20-rds.c:117: initializer element is not constant
drivers/media/radio/miropcm20-rds.c:117: (near initialization for `rds_miscdev.name')
drivers/media/radio/miropcm20-rds.c: In function `miropcm20_rds_init':
drivers/media/radio/miropcm20-rds.c:133: parse error before `return'
drivers/media/radio/miropcm20-rds.c: In function `miropcm20_rds_cleanup':
drivers/media/radio/miropcm20-rds.c:140: parse error before `}'
drivers/media/radio/miropcm20-rds.c:145: parse error at end of input
drivers/media/radio/miropcm20-rds.c:121: warning: `miropcm20_rds_init' defined but not used
make[3]: *** [drivers/media/radio/miropcm20-rds.o] Error 1

<--  snip  -->


It would be nice if everyone would try to compile the patched files
before submitting patches...


Below are the trivial fixes:


--- linux-2.5.64-mm8/drivers/media/radio/miropcm20-rds.c.old	2003-03-16 14:34:17.000000000 +0100
+++ linux-2.5.64-mm8/drivers/media/radio/miropcm20-rds.c	2003-03-16 14:35:05.000000000 +0100
@@ -113,7 +113,7 @@
 
 static struct miscdevice rds_miscdev = {
 	.minor		= MISC_DYNAMIC_MINOR,
-	.name		= "radiotext"
+	.name		= "radiotext",
 	.fops		= &rds_fops,
 };
 
@@ -128,7 +128,7 @@
 	error = devfs_mk_symlink(NULL, "v4l/rds/radiotext", 0,
 				 "../misc/radiotext", NULL, NULL);
 	if (error)
-		misc_deregister(&rds_miscdev)
+		misc_deregister(&rds_miscdev);
 
 	return error;
 }
@@ -136,7 +136,7 @@
 static void __exit miropcm20_rds_cleanup(void)
 {
 	devfs_remove("v4l/rds/radiotext");
-	misc_deregister(&rds_miscdev)
+	misc_deregister(&rds_miscdev);
 }
 
 module_init(miropcm20_rds_init);



cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
                   ` (3 preceding siblings ...)
  2003-03-16 13:43 ` [patch] 2.5.64-mm8: miropcm20-rds.c " Adrian Bunk
@ 2003-03-16 13:49 ` Mike Galbraith
  2003-03-16 17:12 ` 2.5.64-mm8 Helge Hafting
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Mike Galbraith @ 2003-03-16 13:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm

At 02:42 AM 3/16/2003 -0800, Andrew Morton wrote:
>. I should have mentioned that 2.5.64-mm7 included a CPU scheduler tweak
>   from Mike Galbraith which apparently fixes up the various starvation
>   problems which people have been experiencing.  That is also in 2.5.64-mm8.

(hopefully, soon to be replaced by a groovy Ingo patch) 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile
  2003-03-16 13:02 ` 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile Adrian Bunk
@ 2003-03-16 15:44   ` Adrian Bunk
  2003-03-17 15:43     ` [Linux-ATM-General] " chas williams
  2003-03-16 18:00   ` Adrian Bunk
  1 sibling, 1 reply; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 15:44 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds, chas, linux-atm-general; +Cc: linux-kernel

On Sun, Mar 16, 2003 at 02:02:11PM +0100, Adrian Bunk wrote:
> On Sun, Mar 16, 2003 at 02:42:39AM -0800, Andrew Morton wrote:
> >...
> > All 124 patches:
> > 
> > linus.patch
> >   Latest from Linus
> >...
> 
> The following problem seems to come from Linus' tree:
> 
> tx_inuse was removed from struct atm_vcc in include/linux/atmdev.h but 
> drivers/atm/idt77252.c still needs it:
>...


The same problem is present in net/atm/pppoatm.c:


<--  snip  -->

...
  gcc -Wp,-MD,net/atm/.pppoatm.o.d -D__KERNEL__ -Iinclude -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-pipe -mpreferred-stack-boundary=2 -march=k6 
-Iinclude/asm-i386/mach-default -g -nostdinc -iwithprefix include    
-DKBUILD_BASENAME=pppoatm -DKBUILD_MODNAME=pppoatm -c -o 
net/atm/pppoatm.o net/atm/pppoatm.c
net/atm/pppoatm.c: In function `pppoatm_send':
net/atm/pppoatm.c:234: structure has no member named `tx_inuse'
make[2]: *** [net/atm/pppoatm.o] Error 1

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
                   ` (4 preceding siblings ...)
  2003-03-16 13:49 ` 2.5.64-mm8 Mike Galbraith
@ 2003-03-16 17:12 ` Helge Hafting
  2003-03-16 19:10 ` 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP Adrian Bunk
  2003-03-16 19:20 ` 2.5.64-mm8 Josh McKinney
  7 siblings, 0 replies; 17+ messages in thread
From: Helge Hafting @ 2003-03-16 17:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm

mm8 is good, anticipatory scheduling seems to work fine with
software raid 0 & 1 now. :-)
It seems to boot noticeably quicker than mm2,
possibly a result of the memory mapping speedup.

Helge Hafting


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile
  2003-03-16 13:02 ` 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile Adrian Bunk
  2003-03-16 15:44   ` Adrian Bunk
@ 2003-03-16 18:00   ` Adrian Bunk
  1 sibling, 0 replies; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 18:00 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds, chas, linux-atm-general; +Cc: linux-kernel

On Sun, Mar 16, 2003 at 02:02:11PM +0100, Adrian Bunk wrote:
> On Sun, Mar 16, 2003 at 02:42:39AM -0800, Andrew Morton wrote:
> >...
> > All 124 patches:
> > 
> > linus.patch
> >   Latest from Linus
> >...
> 
> The following problem seems to come from Linus' tree:
> 
> tx_inuse was removed from struct atm_vcc in include/linux/atmdev.h but 
> drivers/atm/idt77252.c still needs it:
>...

I got a third (and last since the kernel compilation is now finished) 
compile error:

<--  snip  -->

...
  gcc -Wp,-MD,net/sched/.sch_atm.o.d -D__KERNEL__ -Iinclude -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-pipe -mpreferred-stack-boundary=2 -march=k6 
-Iinclude/asm-i386/mach-default -g -nostdinc -iwithprefix include    
-DKBUILD_BASENAME=sch_atm -DKBUILD_MODNAME=sch_atm -c -o 
net/sched/sch_atm.o net/sched/sch_atm.c
net/sched/sch_atm.c: In function `sch_atm_dequeue':
net/sched/sch_atm.c:511: structure has no member named `tx_inuse'
make[2]: *** [net/sched/sch_atm.o] Error 1

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
                   ` (5 preceding siblings ...)
  2003-03-16 17:12 ` 2.5.64-mm8 Helge Hafting
@ 2003-03-16 19:10 ` Adrian Bunk
  2003-03-16 19:32   ` Martin J. Bligh
  2003-03-16 19:20 ` 2.5.64-mm8 Josh McKinney
  7 siblings, 1 reply; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 19:10 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Martin J. Bligh

I get many errors at the final linking when compiling a kernel with
CONFIG_NUMA enabled but CONFIG_SMP disabled:

<--  snip  -->

...
/home/bunk/linux/kernel-2.5/linux-2.5.64-mm8/include/asm/topology.h:41: 
undefined reference to `cpu_2_node'
...

<--  snip  -->

the problem is that include/asm-i386/topology.h says:

<--  snip  -->

...
#ifdef CONFIG_NUMA
...
extern volatile int cpu_2_node[];
...

<--  snip  -->

but cpu_2_node is in arch/i386/kernel/smpboot.c that only gets included 
with CONFIG_SMP.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8
  2003-03-16 10:42 2.5.64-mm8 Andrew Morton
                   ` (6 preceding siblings ...)
  2003-03-16 19:10 ` 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP Adrian Bunk
@ 2003-03-16 19:20 ` Josh McKinney
  7 siblings, 0 replies; 17+ messages in thread
From: Josh McKinney @ 2003-03-16 19:20 UTC (permalink / raw)
  To: linux-kernel

On approximately Sun, Mar 16, 2003 at 02:42:39AM -0800, Andrew Morton wrote:
> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm8/
> 

Maybe I am just slow but it seems that -mm8 didn't make it to kernel.org from
where I am sitting.

-- 
Josh McKinney		     |	Webmaster: http://joshandangie.org
--------------------------------------------------------------------------
Linux, the choice            | Mate, this parrot wouldn't VOOM if you put 
of a GNU generation     -o)  | four million volts through it!   -- Monty
Kernel 2.5.64-mm6        /\  | Python 
on a Athlon-XP          _\_v | 
                             | 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP
  2003-03-16 19:10 ` 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP Adrian Bunk
@ 2003-03-16 19:32   ` Martin J. Bligh
  2003-03-16 19:44     ` Martin J. Bligh
  0 siblings, 1 reply; 17+ messages in thread
From: Martin J. Bligh @ 2003-03-16 19:32 UTC (permalink / raw)
  To: Adrian Bunk, Andrew Morton; +Cc: linux-kernel

> I get many errors at the final linking when compiling a kernel with
> CONFIG_NUMA enabled but CONFIG_SMP disabled:

Well don't do that then ;-)

 # Common NUMA Features
config NUMA
        bool "Numa Memory Allocation Support"
        depends on (HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT && ACPI && !ACPI_HT_
ONLY)))

I guess SMP should be added to the dependencies, but the whole things 
getting a little twisted. Let me try and sort it out properly this afternoon.

M.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP
  2003-03-16 19:32   ` Martin J. Bligh
@ 2003-03-16 19:44     ` Martin J. Bligh
  2003-03-16 19:58       ` Adrian Bunk
  0 siblings, 1 reply; 17+ messages in thread
From: Martin J. Bligh @ 2003-03-16 19:44 UTC (permalink / raw)
  To: Adrian Bunk, Andrew Morton; +Cc: linux-kernel, Andy Whitcroft

>> I get many errors at the final linking when compiling a kernel with
>> CONFIG_NUMA enabled but CONFIG_SMP disabled:
> 
> Well don't do that then ;-)
> 
>  # Common NUMA Features
> config NUMA
>         bool "Numa Memory Allocation Support"
>         depends on (HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT && ACPI && !ACPI_HT_
> ONLY)))
> 
> I guess SMP should be added to the dependencies, but the whole things 
> getting a little twisted. Let me try and sort it out properly this afternoon.

Ah ... maybe you were referring to the bit when Andy was going to get this
working on a standard PC for distros (actually, they still have SMP images,
I think ... but still). Not quite finished yet, and Andy's off on vacation ;-)
Avoid that combo for now ... will fix soon.

M.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP
  2003-03-16 19:44     ` Martin J. Bligh
@ 2003-03-16 19:58       ` Adrian Bunk
  0 siblings, 0 replies; 17+ messages in thread
From: Adrian Bunk @ 2003-03-16 19:58 UTC (permalink / raw)
  To: Martin J. Bligh; +Cc: Andrew Morton, linux-kernel, Andy Whitcroft

On Sun, Mar 16, 2003 at 11:44:06AM -0800, Martin J. Bligh wrote:
> >> I get many errors at the final linking when compiling a kernel with
> >> CONFIG_NUMA enabled but CONFIG_SMP disabled:
> > 
> > Well don't do that then ;-)
> > 
> >  # Common NUMA Features
> > config NUMA
> >         bool "Numa Memory Allocation Support"
> >         depends on (HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT && ACPI && !ACPI_HT_
> > ONLY)))
> > 
> > I guess SMP should be added to the dependencies, but the whole things 
> > getting a little twisted. Let me try and sort it out properly this afternoon.
> 
> Ah ... maybe you were referring to the bit when Andy was going to get this
> working on a standard PC for distros (actually, they still have SMP images,

I ran into it since -mm adds a " || X86_PC" to the depends line of
CONFIG_NUMA.

> I think ... but still). Not quite finished yet, and Andy's off on vacation ;-)
> Avoid that combo for now ... will fix soon.

It's not an extremely urgent problem.

> M.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Linux-ATM-General] Re: 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile
  2003-03-16 15:44   ` Adrian Bunk
@ 2003-03-17 15:43     ` chas williams
  2003-03-18 20:49       ` Adrian Bunk
  2003-03-20  8:44       ` David S. Miller
  0 siblings, 2 replies; 17+ messages in thread
From: chas williams @ 2003-03-17 15:43 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, davem, linux-atm-general, linux-kernel

In message <20030316154414.GB10253@fs.tum.de>,Adrian Bunk writes:
> tx_inuse was removed from struct atm_vcc in include/linux/atmdev.h but 
> drivers/atm/idt77252.c still needs it:

it doesnt need it -- it just needs to use the right member.  the following
patch should fix the current errors.  i missed these bits during my
earlier changes.


Index: linux/net/sched/sch_atm.c
===================================================================
RCS file: /home/chas/CVSROOT/linux/net/sched/sch_atm.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- linux/net/sched/sch_atm.c	20 Feb 2003 13:46:33 -0000	1.1.1.1
+++ linux/net/sched/sch_atm.c	11 Mar 2003 15:20:25 -0000	1.2
@@ -508,7 +508,7 @@
 			ATM_SKB(skb)->vcc = flow->vcc;
 			memcpy(skb_push(skb,flow->hdr_len),flow->hdr,
 			    flow->hdr_len);
-			atomic_add(skb->truesize,&flow->vcc->tx_inuse);
+			atomic_add(skb->truesize,&flow->vcc->sk->wmem_alloc);
 			ATM_SKB(skb)->iovcnt = 0;
 			/* atm.atm_options are already set by atm_tc_enqueue */
 			(void) flow->vcc->send(flow->vcc,skb);
Index: linux/net/atm/pppoatm.c
===================================================================
RCS file: /home/chas/CVSROOT/linux/net/atm/pppoatm.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 pppoatm.c
--- linux/net/atm/pppoatm.c	20 Feb 2003 13:46:30 -0000	1.1.1.1
+++ linux/net/atm/pppoatm.c	15 Mar 2003 14:35:27 -0000
@@ -231,7 +231,7 @@
 		kfree_skb(skb);
 		return 1;
 	}
-	atomic_add(skb->truesize, &ATM_SKB(skb)->vcc->tx_inuse);
+	atomic_add(skb->truesize, &ATM_SKB(skb)->vcc->sk->wmem_alloc);
 	ATM_SKB(skb)->iovcnt = 0;
 	ATM_SKB(skb)->atm_options = ATM_SKB(skb)->vcc->atm_options;
 	DPRINTK("(unit %d): atm_skb(%p)->vcc(%p)->dev(%p)\n",
Index: linux/drivers/atm/idt77252.c
===================================================================
RCS file: /home/chas/CVSROOT/linux/drivers/atm/idt77252.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 idt77252.c
--- linux/drivers/atm/idt77252.c	20 Feb 2003 13:45:03 -0000	1.1.1.1
+++ linux/drivers/atm/idt77252.c	16 Mar 2003 13:17:56 -0000
@@ -730,7 +730,7 @@
 		struct atm_vcc *vcc = vc->tx_vcc;
 
 		vc->estimator->cells += (skb->len + 47) / 48;
-		if (atomic_read(&vcc->tx_inuse) > (vcc->sk->sndbuf >> 1)) {
+		if (atomic_read(&vcc->sk->wmem_alloc) > (vcc->sk->sndbuf >> 1)) {
 			u32 cps = vc->estimator->maxcps;
 
 			vc->estimator->cps = cps;
@@ -2025,7 +2025,7 @@
 		atomic_inc(&vcc->stats->tx_err);
 		return -ENOMEM;
 	}
-	atomic_add(skb->truesize + ATM_PDU_OVHD, &vcc->tx_inuse);
+	atomic_add(skb->truesize + ATM_PDU_OVHD, &vcc->sk->wmem_alloc);
 	ATM_SKB(skb)->iovcnt = 0;
 
 	memcpy(skb_put(skb, 52), cell, 52);

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Linux-ATM-General] Re: 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile
  2003-03-17 15:43     ` [Linux-ATM-General] " chas williams
@ 2003-03-18 20:49       ` Adrian Bunk
  2003-03-20  8:44       ` David S. Miller
  1 sibling, 0 replies; 17+ messages in thread
From: Adrian Bunk @ 2003-03-18 20:49 UTC (permalink / raw)
  To: chas williams; +Cc: Andrew Morton, davem, linux-atm-general, linux-kernel

On Mon, Mar 17, 2003 at 10:43:15AM -0500, chas williams wrote:
> In message <20030316154414.GB10253@fs.tum.de>,Adrian Bunk writes:
> > tx_inuse was removed from struct atm_vcc in include/linux/atmdev.h but 
> > drivers/atm/idt77252.c still needs it:
> 
> it doesnt need it -- it just needs to use the right member.  the following
> patch should fix the current errors.  i missed these bits during my
> earlier changes.
>...

Thanks, your patch fixes all tx_inuse compilation errors I observed.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Linux-ATM-General] Re: 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile
  2003-03-17 15:43     ` [Linux-ATM-General] " chas williams
  2003-03-18 20:49       ` Adrian Bunk
@ 2003-03-20  8:44       ` David S. Miller
  1 sibling, 0 replies; 17+ messages in thread
From: David S. Miller @ 2003-03-20  8:44 UTC (permalink / raw)
  To: chas; +Cc: bunk, akpm, linux-atm-general, linux-kernel

   From: chas williams <chas@locutus.cmf.nrl.navy.mil>
   Date: Mon, 17 Mar 2003 10:43:15 -0500

   In message <20030316154414.GB10253@fs.tum.de>,Adrian Bunk writes:
   > tx_inuse was removed from struct atm_vcc in include/linux/atmdev.h but 
   > drivers/atm/idt77252.c still needs it:
   
   it doesnt need it -- it just needs to use the right member.  the following
   patch should fix the current errors.  i missed these bits during my
   earlier changes.
   
Applied, thanks Chas.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2003-03-20  8:36 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-16 10:42 2.5.64-mm8 Andrew Morton
2003-03-16 11:45 ` [patch] 2.5.64-mm8: fs/affs/dir.c doesn't compile Adrian Bunk
2003-03-16 12:21 ` 2.5.64-mm8 Roman Zippel
2003-03-16 13:02 ` 2.5.64-mm8: drivers/atm/idt77252.c doesn't compile Adrian Bunk
2003-03-16 15:44   ` Adrian Bunk
2003-03-17 15:43     ` [Linux-ATM-General] " chas williams
2003-03-18 20:49       ` Adrian Bunk
2003-03-20  8:44       ` David S. Miller
2003-03-16 18:00   ` Adrian Bunk
2003-03-16 13:43 ` [patch] 2.5.64-mm8: miropcm20-rds.c " Adrian Bunk
2003-03-16 13:49 ` 2.5.64-mm8 Mike Galbraith
2003-03-16 17:12 ` 2.5.64-mm8 Helge Hafting
2003-03-16 19:10 ` 2.5.64-mm8: link error with CONFIG_NUMA and !CONFIG_SMP Adrian Bunk
2003-03-16 19:32   ` Martin J. Bligh
2003-03-16 19:44     ` Martin J. Bligh
2003-03-16 19:58       ` Adrian Bunk
2003-03-16 19:20 ` 2.5.64-mm8 Josh McKinney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).