public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@muc.de>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: any chance of 2.6.0-test*?
Date: 11 Jan 2003 13:27:24 +0100	[thread overview]
Message-ID: <m3iswv27o3.fsf@averell.firstfloor.org> (raw)
In-Reply-To: <20030110165505$38d9@gated-at.bofh.it>

Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> On Fri, 2003-01-10 at 16:10, William Lee Irwin III wrote:
> > Any specific concerns/issues/wishlist items you want taken care of
> > before doing it or is it a "generalized comfort level" kind of thing?
> > Let me know, I'd be much obliged for specific directions to move in.
> 
> IDE is all broken still and will take at least another three months to
> fix - before we get to 'improve'. The entire tty layer locking is terminally

Can you quickly summarize what is broken with IDE ?

Are just some low level drivers broken or are there some generic
nasty problems.

If it is just some broken low level drivers I guess they can 
be marked dangerous or CONFIG_EXPERIMENTAL.

How does it differ from the code that was just merged into 2.4.21pre3
(has the later all the problems fixed?)

> broken and nobody has even started fixing it. Just try a mass of parallel
> tty/pty activity . It was problematic before, pre-empt has taken it  to dead, 
> defunct and buried. 

Can someone shortly describe what is the main problem with TTY?

>From what I can see the high level tty code mostly takes lock_kernel
before doing anything.
On reads access to file->private_data is not serialized, but it at 
least shouldn't go away because VFS takes care of struct file
reference counting.

The tty_drivers list does seem to need a spinlock, but I guess
just taking lock_kernel in tty_open would fix that for now.

[i didn't look at low level ldiscs]

Any particular test cases that break ?

If yes I would recommend to post them as scripts and their oopses so 
that people can start working on them.


The appended untested patch adds some lock_kernel()s that appear to be missing
to tty_io.c. The rest seems to already run under BKL or not access
any global data
(except tty_paranoia_check, but is probably ok with the reference counting
in the VFS)

> 
> Most of the drivers still don't build either.

In UP most did last time I tried.
On SMP a lot of problems are caused by the cli removal

My personal (i386) problem list is relatively short.
I use used 2.5.54 on my desktop without any problems (without preempt)

- BIO still oopses when XFS tries replay a log on RAID-0

-Andi

--- linux-2.5.56-work/drivers/char/tty_io.c-o	2003-01-02 05:13:12.000000000 +0100
+++ linux-2.5.56-work/drivers/char/tty_io.c	2003-01-11 13:23:15.000000000 +0100
@@ -1329,6 +1329,8 @@
 		int major, minor;
 		struct tty_driver *driver;
 
+		lock_kernel(); 
+
 		/* find a device that is not in use. */
 		retval = -1;
 		for ( major = 0 ; major < UNIX98_NR_MAJORS ; major++ ) {
@@ -1340,6 +1342,8 @@
 				if (!init_dev(device, &tty)) goto ptmx_found; /* ok! */
 			}
 		}
+
+		unlock_kernel();
 		return -EIO; /* no free ptys */
 	ptmx_found:
 		set_bit(TTY_PTY_LOCK, &tty->flags); /* LOCK THE SLAVE */
@@ -1357,6 +1361,8 @@
 #endif  /* CONFIG_UNIX_98_PTYS */
 	}
 
+	lock_kernel();
+
 	retval = init_dev(device, &tty);
 	if (retval)
 		return retval;
@@ -1389,6 +1395,8 @@
 #endif
 
 		release_dev(filp);
+
+		unlock_kernel(); 
 		if (retval != -ERESTARTSYS)
 			return retval;
 		if (signal_pending(current))
@@ -1397,6 +1405,7 @@
 		/*
 		 * Need to reset f_op in case a hangup happened.
 		 */
+		lock_kernel();
 		filp->f_op = &tty_fops;
 		goto retry_open;
 	}
@@ -1424,6 +1433,7 @@
 			nr_warns++;
 		}
 	}
+	unlock_kernel();
 	return 0;
 }
 
@@ -1444,8 +1454,13 @@
 	if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "tty_poll"))
 		return 0;
 
-	if (tty->ldisc.poll)
-		return (tty->ldisc.poll)(tty, filp, wait);
+	if (tty->ldisc.poll) { 
+		int ret;
+		lock_kernel();
+		ret = (tty->ldisc.poll)(tty, filp, wait);
+		unlock_kernel();
+		return ret;
+	}
 	return 0;
 }
 

       reply	other threads:[~2003-01-11 12:18 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20030110165441$1a8a@gated-at.bofh.it>
     [not found] ` <20030110165505$38d9@gated-at.bofh.it>
2003-01-11 12:27   ` Andi Kleen [this message]
2003-01-11 13:01     ` any chance of 2.6.0-test*? Russell King
2003-01-11 13:13       ` Andi Kleen
2003-01-11 14:39     ` Alan Cox
2003-01-11 14:06       ` Andi Kleen
2003-01-11 15:31         ` Alan Cox
2003-01-11 15:25           ` Andi Kleen
2003-01-11 19:18             ` Alan Cox
2003-01-13  3:33               ` Paul Mackerras
2003-01-13 14:59                 ` Alan Cox
2003-01-13 18:36                   ` Benjamin Herrenschmidt
2003-01-14  2:32                   ` ide-cs problem (was Re: any chance of 2.6.0-test*?) Paul Mackerras
2003-01-19 16:05         ` any chance of 2.6.0-test*? Pavel Machek
     [not found]   ` <20030112094007$1647@gated-at.bofh.it>
2003-01-12  9:56     ` Fixing the tty layer was " Andi Kleen
2003-01-13  6:41       ` Dipankar Sarma
2003-01-13  7:25         ` Andi Kleen
2003-01-13  8:12           ` Dipankar Sarma
2003-01-13  9:15             ` Russell King
2003-01-13  9:36               ` Dipankar Sarma
2003-01-13  6:45       ` Greg KH
     [not found] <20030113001006$005c@gated-at.bofh.it>
     [not found] ` <20030113005007$4766@gated-at.bofh.it>
     [not found]   ` <20030113170014$20a1@gated-at.bofh.it>
2003-01-18 10:21     ` Kai Henningsen
     [not found] <20030112193012$71b2@gated-at.bofh.it>
     [not found] ` <20030113020015$6883@gated-at.bofh.it>
     [not found]   ` <20030113023015$66a6@gated-at.bofh.it>
     [not found]     ` <20030113030011$6563@gated-at.bofh.it>
     [not found]       ` <20030113035007$451e@gated-at.bofh.it>
2003-01-14 20:18         ` Kai Henningsen
     [not found] <20030112205008$7a5d@gated-at.bofh.it>
     [not found] ` <20030113112009$52fd@gated-at.bofh.it>
     [not found]   ` <20030113144017$68de@gated-at.bofh.it>
2003-01-14 20:01     ` Kai Henningsen
     [not found] <20030112201009$1534@gated-at.bofh.it>
     [not found] ` <20030112204005$7287@gated-at.bofh.it>
2003-01-14 19:53   ` Kai Henningsen
2003-01-15 15:07     ` Scott Robert Ladd
2003-01-15 15:18       ` Marcelo Pacheco
2003-01-18 10:12       ` Kai Henningsen
2003-01-15 19:44     ` Werner Almesberger
2003-01-13 22:37 Albert D. Cahalan
  -- strict thread matches above, loose matches on Subject: below --
2003-01-13 20:37 Manfred Spraul
     [not found] <3C6BEE8B5E1BAC42905A93F13004E8AB017DE60F@mailse01.axis.se>
2003-01-12 20:58 ` Rob Wilkens
2003-01-12 18:02 David Truog
     [not found] <20030110144325.T26554@parcelfarce.linux.theplanet.co.uk>
     [not found] ` <20030110.130023.08256524.davem@redhat.com>
2003-01-10 21:48   ` Matthew Wilcox
2003-01-10 16:39 Shawn Starr
2003-01-10 17:00 ` Dave Jones
2003-01-11 20:10 ` Horst von Brand
2003-01-10 16:10 William Lee Irwin III
2003-01-10 16:28 ` Dave Jones
2003-01-10 16:41   ` Zwane Mwaikambo
2003-01-10 17:08     ` Dave Jones
2003-01-10 17:19 ` Alan Cox
2003-01-10 16:40   ` Jeff Garzik
2003-01-10 17:06   ` Dave Jones
2003-01-10 17:25     ` Jeff Garzik
2003-01-10 17:29     ` Linus Torvalds
2003-01-10 18:47       ` J.A. Magallon
2003-01-10 19:37         ` Matthew D. Pitts
2003-01-10 19:51         ` Jeff Garzik
2003-01-14  1:39       ` James H. Cloos Jr.
2003-01-10 18:16     ` Alan Cox
2003-01-10 17:37   ` Jochen Friedrich
2003-01-10 17:38     ` Linus Torvalds
2003-01-12  9:27   ` Greg KH
2003-01-12 16:55     ` Alan Cox
2003-01-12 17:05     ` Linus Torvalds
2003-01-12 17:17       ` Christoph Hellwig
2003-01-12 19:15         ` Linus Torvalds
2003-01-12 19:34           ` Rob Wilkens
2003-01-12 19:37             ` Rob Wilkens
2003-01-12 19:53               ` Tomas Szepe
2003-01-12 20:03                 ` Rob Wilkens
2003-01-13 15:43                   ` Terje Eggestad
2003-01-13 15:49                     ` Jens Axboe
2003-01-13 16:25                       ` Terje Eggestad
2003-01-13 16:26                         ` Jens Axboe
2003-01-13 16:41                           ` Terje Eggestad
2003-01-13 16:43                             ` Jens Axboe
2003-01-13 17:00                               ` Zwane Mwaikambo
2003-01-13 18:48                                 ` Jens Axboe
2003-01-13 22:14                                   ` Keith Owens
2003-01-13 22:42                                     ` John Levon
2003-01-13 22:49                                   ` Zwane Mwaikambo
2003-01-13 23:32                                     ` Valdis.Kletnieks
2003-01-13 23:43                                       ` Zwane Mwaikambo
2003-01-12 20:44                 ` Alan Cox
2003-01-12 21:22                   ` David Woodhouse
2003-01-12 20:45                 ` William Lee Irwin III
2003-01-13 13:14                   ` Bernd Schmidt
2003-01-18 13:04                 ` Folkert van Heusden
2003-01-12 19:38             ` Linus Torvalds
2003-01-12 19:59               ` Rob Wilkens
2003-01-12 20:18                 ` Valdis.Kletnieks
2003-01-12 20:23                   ` yodaiken
2003-01-12 20:26                   ` Tomas Szepe
2003-01-12 20:32                   ` Sean Neakums
2003-01-12 20:51                     ` Valdis.Kletnieks
2003-01-13  0:54                     ` Randy Dunlap
2003-01-12 20:46                   ` Kevin Puetz
2003-01-13  0:48                   ` Randy Dunlap
2003-01-18 13:07                   ` Folkert van Heusden
2003-01-12 20:20                 ` David Ford
2003-01-12 20:22                 ` Linus Torvalds
2003-01-12 20:33                   ` Robert Love
2003-01-12 20:33                     ` Linus Torvalds
2003-01-13 10:54                       ` Horst von Brand
2003-01-13 11:09                       ` Eric W. Biederman
2003-01-13 14:34                         ` Terje Eggestad
2003-01-13 23:23                         ` Bob Taylor
2003-01-12 20:48                   ` Rob Wilkens
2003-01-12 20:59                     ` Dimitrie O. Paun
2003-01-13 11:07                     ` Helge Hafting
2003-01-13  3:30                   ` yodaiken
2003-01-12 21:29                 ` Rik van Riel
2003-01-13  0:03                 ` Scott Robert Ladd
2003-01-13  0:38                   ` Rob Wilkens
2003-01-13 16:51                     ` Emiliano Gabrielli
2003-01-13  0:38                 ` Randy Dunlap
2003-01-12 19:41             ` Christoph Hellwig
2003-01-12 19:41               ` Rob Wilkens
2003-01-12 19:58                 ` David Ford
2003-01-12 20:07                   ` Rob Wilkens
2003-01-12 20:31                     ` Oliver Neukum
2003-01-12 20:34                     ` David Ford
2003-01-12 20:31             ` Robert Love
2003-01-12 21:02               ` Rob Wilkens
2003-01-12 21:15             ` Matti Aarnio
2003-01-12 21:27               ` Rob Wilkens
2003-01-12 21:40                 ` Rik van Riel
2003-01-12 21:44                   ` Rob Wilkens
2003-01-12 21:49                     ` Aaron Lehmann
2003-01-12 22:07                       ` Rob Wilkens
2003-01-12 22:18                         ` Aaron Lehmann
2003-01-12 22:34                           ` Rob Wilkens
2003-01-12 22:52                             ` Aaron Lehmann
2003-01-12 23:11                               ` Rob Wilkens
2003-01-12 23:31                                 ` Oliver Neukum
2003-01-12 23:39                                 ` Emiliano Gabrielli
2003-01-12 23:46                                   ` Rob Wilkens
2003-01-12 23:57                                     ` Emiliano Gabrielli
2003-01-13  0:08                                       ` Rob Wilkens
2003-01-13 16:02                                         ` Terje Eggestad
2003-01-12 22:53                             ` Sean Neakums
2003-01-12 23:06                             ` Oliver Neukum
2003-01-12 23:48                             ` Rik van Riel
2003-01-12 21:58                     ` Emiliano Gabrielli
2003-01-12 22:12                       ` Rob Wilkens
2003-01-12 22:29                         ` Olivier Galibert
2003-01-12 23:21                         ` Alan Cox
2003-01-12 22:12                     ` Oliver Neukum
2003-01-12 22:18                       ` Aaron Lehmann
2003-01-12 22:35                         ` Rob Wilkens
2003-01-13  8:15                     ` Jens Axboe
2003-01-12 21:49                 ` David Ford
2003-01-12 21:59                 ` Adam Kropelin
2003-01-12 22:21                   ` Rob Wilkens
2003-01-12 22:33                     ` Tomas Szepe
2003-01-12 22:36                     ` Emiliano Gabrielli
2003-01-12 22:38                     ` Oliver Neukum
2003-01-12 22:42                     ` romieu
2003-01-13  1:06                     ` Randy Dunlap
2003-01-13  1:21                       ` Rob Wilkens
2003-01-13  1:51                         ` Nuno Monteiro
2003-01-13  2:19                           ` Rob Wilkens
2003-01-13  2:51                             ` Marcelo Pacheco
2003-01-13  3:37                               ` Rob Wilkens
2003-01-13  4:53                               ` Billy Rose
2003-01-13  3:06                             ` Jochen Striepe
2003-01-13  3:40                               ` Rob Wilkens
2003-01-13  9:45                             ` Matti Aarnio
2003-01-13  3:48                         ` Ryan Anderson
2003-01-13  4:37                   ` Billy Rose
2003-01-12 22:06                 ` Oliver Neukum
2003-01-12 22:22                   ` Rob Wilkens
2003-01-12 22:43                     ` Oliver Neukum
2003-01-12 22:51                       ` Rob Wilkens
2003-01-12 23:00                         ` Robert Love
2003-01-12 23:16                           ` Rob Wilkens
2003-01-12 23:16                           ` Nicolas Pitre
2003-01-12 23:05                         ` Emiliano Gabrielli
2003-01-12 23:23                           ` Oliver Neukum
2003-01-12 23:45                             ` Emiliano Gabrielli
2003-01-12 23:45                             ` Emiliano Gabrielli
2003-01-13 20:01                             ` Horst von Brand
2003-01-12 23:16                         ` Oliver Neukum
2003-01-13  2:00                         ` Ryan Anderson
2003-01-13  3:09                           ` Rob Wilkens
2003-01-14  2:13                             ` Rik van Riel
2003-01-12 22:58                     ` Robert Love
2003-01-12 22:28                 ` Matti Aarnio
2003-01-13  1:26                 ` David Lang
2003-01-13  2:00                   ` William Lee Irwin III
2003-01-13 22:02                 ` Val Henson
2003-01-13 13:08             ` Dave Jones
2003-01-13 13:40               ` Andrew Walrond
2003-01-13 13:49               ` Oliver Neukum
2003-01-14  6:52               ` Bruce Harada
2003-01-14  7:12                 ` Brian Tinsley
2003-01-13 15:23             ` Richard B. Johnson
2003-01-13  6:23           ` Greg KH
2003-01-13 16:35             ` Linus Torvalds
2003-01-13 18:33               ` Alan Cox
2003-01-13 18:01                 ` Linus Torvalds
2003-01-13 19:17                 ` Andrew McGregor
2003-01-12 17:37       ` Russell King
2003-01-13  1:08 ` Michael Kingsbury
2003-01-13  1:52   ` William Lee Irwin III

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3iswv27o3.fsf@averell.firstfloor.org \
    --to=ak@muc.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox