mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: vlobanov <vlobanov@speakeasy.net>
To: Russell Miller <rmiller@duskglow.com>
Cc: "Jim Nelson" <james4765@verizon.net>,
	DervishD <lkml@dervishd.net>,
	"Gene Heskett" <gene.heskett@verizon.net>,
	linux-kernel@vger.kernel.org, "Måns Rullgård" <mru@inprovide.com>
Subject: Re: is killing zombies possible w/o a reboot?
Date: Wed, 3 Nov 2004 15:06:05 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.58.0411031459010.16460@shell2.speakeasy.net> (raw)
In-Reply-To: <200411031644.58979.rmiller@duskglow.com>

Also a kernel newbie here, so apply appropriate amount of salt to
response. :)

One common scenario for why a program is blocked within a syscall is
that it is waiting for data to arrive. Consider, for example, a read()
on a file -- simplifying a lot, the data has to be fetched from disk,
which is slow. So, while the disk is doing it's thing, the program is
blocked within the system call. Then, when an interrupt arrives
signalling that the data is ready, it is placed into the user-space
buffer, and the program is kicked out of the syscall so that it can
continue executing.

Consider what happens if the program suddenly dies within the read()
syscall above: when the data from disk comes back, the kernel needs to
figure out where to put it. This would make for a very confused kernel,
since the original requester "vanished" without a trace. Even worse,
another program might have taken the original program's place in the
meantime! Very bad things happen.

This is certainly not an _impossible_ problem to solve (as far as I
know), but solving it in the general case would involve a lot of
expensive and complex book-keeping code, so it's simply not done.

Am I right? Wrong? Please enlighten me as well. :)

-Vadim Lobanov

On Wed, 3 Nov 2004, Russell Miller wrote:

> On Wednesday 03 November 2004 16:15, Jim Nelson wrote:
>
> > I did this to myself a number of times when I was first learning Samba -
> > even an ls would become unkillable.  You couldn't rmmod smb, since it was
> > in use, and you couldn't kill the process, since it was waiting on a
> > syscall.  Ergh.
> >
>
> I'm not going to pretend to be a kernel expert, or really anything other than
> a newbie when it comes to kernel internals, so please take this with the
> merits it deserves - many, or none, depending.
>
> Anyway, is there a way to simply signal a syscall that it is to be interrupted
> and forcibly cause the syscall to end?  Kicking the program execution out of
> kernel space would be sufficient to "unstick" the process - and coupling that
> with an automatic KILL signal may not be a bad idea.
>
> I'm pretty sure that someone will think of a way why this wouldn't work with
> very little effort.  Please enlighten me?
>
> --Russell
>
> --
>
> Russell Miller - rmiller@duskglow.com - Le Mars, IA
> Duskglow Consulting - Helping companies just like you to succeed for ~ 10 yrs.
> http://www.duskglow.com - 712-546-5886
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

  parent reply	other threads:[~2004-11-03 23:11 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-03 12:51 Gene Heskett
2004-11-03 14:33 ` bert hubert
2004-11-03 14:49   ` Måns Rullgård
2004-11-03 15:25     ` DervishD
2004-11-03 15:25       ` Måns Rullgård
2004-11-03 17:49         ` DervishD
2004-11-03 16:47       ` Gene Heskett
2004-11-03 17:44         ` DervishD
2004-11-03 18:53           ` Gene Heskett
2004-11-03 19:01             ` Doug McNaught
2004-11-03 19:03             ` Måns Rullgård
2004-11-03 19:24               ` Gene Heskett
2004-11-03 19:33                 ` Doug McNaught
2004-11-03 19:34                 ` Måns Rullgård
2004-11-03 19:06             ` Valdis.Kletnieks
2004-11-03 19:26               ` Gene Heskett
2004-11-03 19:33                 ` Valdis.Kletnieks
2004-11-03 20:09                   ` Gene Heskett
2004-11-04 19:24                     ` Bill Davidsen
2004-11-03 19:42                 ` DervishD
2004-11-03 23:12                   ` Bill Davidsen
2004-11-04 10:26                     ` DervishD
2004-11-04 14:23                       ` Paul Slootman
2004-11-04 14:56                         ` Gene Heskett
2004-11-04 18:24                         ` DervishD
2004-11-04 19:22                       ` Bill Davidsen
2004-11-04 20:53                         ` DervishD
2004-11-03 19:26             ` DervishD
2004-11-03 20:18               ` Gene Heskett
2004-11-03 22:15               ` Jim Nelson
2004-11-03 22:44                 ` Russell Miller
2004-11-03 23:03                   ` Doug McNaught
2004-11-03 23:33                     ` Russell Miller
2004-11-03 23:47                       ` Mathieu Segaud
2004-11-03 23:56                         ` Russell Miller
2004-11-04  0:05                           ` Mathieu Segaud
2004-11-04  6:39                       ` Denis Vlasenko
2004-11-05  2:38                         ` Elladan
2004-11-05  3:10                           ` Tim Connors
2004-11-05  3:17                             ` Russell Miller
2004-11-05  4:38                             ` Elladan
2004-11-05  5:00                             ` Kyle Moffett
2004-11-04 20:06                       ` Bill Davidsen
2004-11-03 23:06                   ` vlobanov [this message]
2004-11-04 10:04                   ` Helge Hafting
2004-11-04 17:16                     ` Alex Bennee
2004-11-04 16:30                 ` Pedro Venda (SYSADM)
2004-11-04 22:28                   ` Helge Hafting
2004-11-03 23:07               ` Bill Davidsen
2004-11-04  1:19                 ` Michael Clark
2004-11-04 16:01         ` kernel
2004-11-04 16:18           ` Gene Heskett
2004-11-04 16:47             ` kernel
2004-11-04 17:58               ` Gene Heskett
2004-11-03 22:58       ` Bill Davidsen
2004-11-04 10:23         ` DervishD
2004-11-04 19:32           ` Bill Davidsen
2004-11-04 21:11             ` DervishD
2004-11-09 23:31               ` Bill Davidsen
2004-11-10  9:11                 ` DervishD
2004-11-03 23:18       ` Adam Heath
2004-11-03 16:38     ` Gene Heskett
2004-11-03 16:24   ` Gene Heskett
2004-11-03 16:46     ` linux-os
2004-11-03 19:12       ` Gene Heskett
2004-11-03 19:56       ` Måns Rullgård
2004-11-03 20:13     ` Helge Hafting
2004-11-03 20:40       ` Gene Heskett
2004-11-04  0:43         ` Kurt Wall
2004-11-04  1:01           ` Russell Miller
2004-11-04  1:38             ` Doug McNaught
2004-11-04  1:45               ` Russell Miller
2004-11-04  1:56                 ` Doug McNaught
2004-11-04  1:59                 ` Mitchell Blank Jr
2004-11-04 20:10                   ` Bill Davidsen
2004-11-04 10:07         ` Matthias Andree
2004-11-04 22:31           ` Peter Chubb
2004-11-04 23:33           ` Benno
2004-11-03 20:48 ` Tom Felker
2004-11-03 21:08   ` Gene Heskett
2004-11-04  7:19     ` Jan Knutar
2004-11-04 11:57       ` Gene Heskett
2004-11-04 12:12         ` Jan Knutar
2004-11-04 12:18           ` Gene Heskett
2004-11-04 12:29             ` Jan Knutar
2004-11-04 13:56               ` Gene Heskett
2004-11-04 12:39           ` Gene Heskett
2004-11-04 13:01             ` Ian Campbell
2004-11-04 14:07               ` Gene Heskett
2004-11-04 14:24                 ` Ian Campbell
2004-11-04 15:10                   ` Gene Heskett
2004-11-04 14:26                 ` DervishD
2004-11-04 15:13                   ` Gene Heskett
2004-11-04 13:10             ` Doug McNaught
2004-11-04 14:11               ` Gene Heskett
2004-11-04 14:42                 ` tlaurent
2004-11-04 15:14                   ` Gene Heskett
2004-11-04 20:18             ` Bill Davidsen
2004-11-05  0:29   ` Gene Heskett

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=Pine.LNX.4.58.0411031459010.16460@shell2.speakeasy.net \
    --to=vlobanov@speakeasy.net \
    --cc=gene.heskett@verizon.net \
    --cc=james4765@verizon.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@dervishd.net \
    --cc=mru@inprovide.com \
    --cc=rmiller@duskglow.com \
    /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

all inboxes | Powered by JetHome®