[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems with 2.4.19-pre9
On Fri, 2002-05-31 at 09:46, Steve Lord wrote:
> On Fri, 2002-05-31 at 07:19, Paul Schutte wrote:
> > Changes that went in on May 24th caused the problems.
> > I checked the tree out on the morning of 24 May and Steve dropped a few
> > changes to get XFS out of the irq business later that day.
> > I checked the tree out again before I went home.
> > The first one works perfectly, the second one shows the behaviour described.
> > I checked with kdb to see what happends when everythings pauses.
> >
> > keventd is shown to be running when I do a ps.
> > It is busy doing "schedule"
> > The cp that shows the pause behaviour are also in "schedule".
> > It looks like same kind of deadlock that resolves it self after a while.
> > It takes between 5 to 30 seconds for the cp to continue.
> >
> > Hope this helps.
> >
> > Paul
> >
>
Can someone who experiences this problem (and is using the debian 2.95
compiler) try this patch on a current tree and see if the problem goes
away please?
Thanks
Steve
--
Steve Lord voice: +1-651-683-3511
Principal Engineer, Filesystem Software email: lord@sgi.com
===========================================================================
Index: linux/fs/xfs/Makefile
===========================================================================
--- /usr/tmp/TmpDir.30278-0/linux/fs/xfs/Makefile_1.139 Fri May 31 10:08:51 2002
+++ linux/fs/xfs/Makefile Fri May 31 10:03:58 2002
@@ -137,8 +137,7 @@
xfs_utils.o \
xfs_vfsops.o \
xfs_vnodeops.o \
- xfs_rw.o \
- xfs_log_lsn.o
+ xfs_rw.o
# Objects not built in this directory
obj-y += pagebuf/pagebuf.o \
===========================================================================
Index: linux/fs/xfs/xfs_log.h
===========================================================================
--- /usr/tmp/TmpDir.30278-0/linux/fs/xfs/xfs_log.h_1.59 Fri May 31 10:08:51 2002
+++ linux/fs/xfs/xfs_log.h Fri May 31 10:05:02 2002
@@ -48,16 +48,16 @@
#define CYCLE_LSN_NOCONV(lsn,arch) (((uint *)&(lsn))[LSN_FIELD_CYCLE(arch)])
#ifdef __KERNEL__
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
-extern xfs_lsn_t _lsn_cmp(xfs_lsn_t, xfs_lsn_t, xfs_arch_t);
-#define _lsn_cmp _xfs_lsn_cmp
-#endif
-
/*
- * By comparing each component, we don't have to worry about extra
+ * By comparing each compnent, we don't have to worry about extra
* endian issues in treating two 32 bit numbers as one 64 bit number
*/
-static inline
+static
+#ifdef __GNUC__
+# if !((__GNUC__ == 2) && (__GNUC_MINOR__ == 95))
+__inline__
+#endif
+#endif
xfs_lsn_t _lsn_cmp(xfs_lsn_t lsn1, xfs_lsn_t lsn2, xfs_arch_t arch)
{
if (CYCLE_LSN(lsn1, arch) != CYCLE_LSN(lsn2, arch))