All of lore.kernel.org
 help / color / mirror / Atom feed
From: linas@austin.ibm.com (Linas Vepstas)
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "<Andrew Morton" <akpm@osdl.org>,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	containers@lists.osdl.org, Oleg Nesterov <oleg@tv-sign.ru>
Subject: Re: [PATCH] powerpc pseries eeh: Convert to kthread API
Date: Tue, 24 Apr 2007 12:24:48 -0500	[thread overview]
Message-ID: <20070424172448.GX31947@austin.ibm.com> (raw)
In-Reply-To: <1177378733.14873.52.camel@localhost.localdomain>

On Tue, Apr 24, 2007 at 11:38:53AM +1000, Benjamin Herrenschmidt wrote:
> > The only reason for using threads here is to get the error recovery
> > out of an interrupt context (where errors may be detected), and then,
> > an hour later, decrement a counter (which is how we limit these to 
> > 6 per hour). Thread reaping is "trivial", the thread just exits
> > after an hour.
> 
> In addition, it should be a thread and not done from within keventd
> because :
> 
>  - It can take a long time (well, relatively but still too long for a
> work queue)

Uhh, 15 or 20 seconds even. That's a long time by any kernel standard.

>  - The driver callbacks might need to use keventd or do flush_workqueue
> to synchronize with their own workqueues when doing an internal
> recovery.
> 
> > Since these are events rare, I've no particular concern about
> > performance or resource consumption. The current code seems 
> > to work just fine. :-)
> 
> I think moving to kthread's is cleaner (just a wrapper around kernel
> threads that simplify dealing with reaping them out mostly) and I agree
> with Christoph that it would be nice to be able to "fire off" kthreads
> from interrupt context.. in many cases, we abuse work queues for things
> that should really done from kthreads instead (basically anything that
> takes more than a couple hundred microsecs or so).

It would be nice to have threads that can be "fired off" from an
interrupt context.  That would simplify the EEH code slightly 
(removing a few dozen lines of code that do this bounce).

I presume that various device drivers might find this useful as well.

--linas

WARNING: multiple messages have this Message-ID (diff)
From: linas@austin.ibm.com (Linas Vepstas)
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Christoph Hellwig <hch@infradead.org>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"<Andrew Morton" <akpm@osdl.org>,
	containers@lists.osdl.org, Oleg Nesterov <oleg@tv-sign.ru>,
	linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
	linux-s390@vger.kernel.org, linuxppc-dev@ozlabs.org
Subject: Re: [PATCH] powerpc pseries eeh: Convert to kthread API
Date: Tue, 24 Apr 2007 12:24:48 -0500	[thread overview]
Message-ID: <20070424172448.GX31947@austin.ibm.com> (raw)
In-Reply-To: <1177378733.14873.52.camel@localhost.localdomain>

On Tue, Apr 24, 2007 at 11:38:53AM +1000, Benjamin Herrenschmidt wrote:
> > The only reason for using threads here is to get the error recovery
> > out of an interrupt context (where errors may be detected), and then,
> > an hour later, decrement a counter (which is how we limit these to 
> > 6 per hour). Thread reaping is "trivial", the thread just exits
> > after an hour.
> 
> In addition, it should be a thread and not done from within keventd
> because :
> 
>  - It can take a long time (well, relatively but still too long for a
> work queue)

Uhh, 15 or 20 seconds even. That's a long time by any kernel standard.

>  - The driver callbacks might need to use keventd or do flush_workqueue
> to synchronize with their own workqueues when doing an internal
> recovery.
> 
> > Since these are events rare, I've no particular concern about
> > performance or resource consumption. The current code seems 
> > to work just fine. :-)
> 
> I think moving to kthread's is cleaner (just a wrapper around kernel
> threads that simplify dealing with reaping them out mostly) and I agree
> with Christoph that it would be nice to be able to "fire off" kthreads
> from interrupt context.. in many cases, we abuse work queues for things
> that should really done from kthreads instead (basically anything that
> takes more than a couple hundred microsecs or so).

It would be nice to have threads that can be "fired off" from an
interrupt context.  That would simplify the EEH code slightly 
(removing a few dozen lines of code that do this bounce).

I presume that various device drivers might find this useful as well.

--linas


  parent reply	other threads:[~2007-04-24 17:24 UTC|newest]

Thread overview: 237+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-19  6:52 Remaining straight forward kthread API conversions Eric W. Biederman
2007-04-19  6:55 ` [PATCH] i386 balance_irq: Convert to the kthread api Eric W. Biederman
2007-04-19  6:55 ` [PATCH] i386 voyager: Convert the monitor thread to use the kthread API Eric W. Biederman
2007-04-22 19:30   ` Christoph Hellwig
2007-04-19  6:55 ` [PATCH] mtd_blkdevs: Convert " Eric W. Biederman
2007-04-19 16:47   ` Christoph Hellwig
2007-04-19 19:13     ` Eric W. Biederman
2007-04-19 22:26       ` Andrew Morton
2007-04-22 12:24   ` Christoph Hellwig
2007-04-22 13:23     ` David Woodhouse
2007-04-22 19:26       ` Christoph Hellwig
2007-04-22 19:40     ` Christoph Hellwig
2007-04-19  6:55 ` [PATCH] cpci_hotplug: " Eric W. Biederman
2007-04-22 12:05   ` Christoph Hellwig
2007-04-23 16:19     ` Scott Murray
2007-04-27 22:07     ` Scott Murray
2007-05-04 11:12       ` Christoph Hellwig
2007-05-07 18:18         ` Scott Murray
2007-05-09 23:24           ` Andrew Morton
2007-05-10  0:00             ` Kristen Carlson Accardi
2007-05-10 18:29             ` Scott Murray
2007-05-10 19:30               ` Andrew Morton
2007-04-19  6:55 ` [PATCH] ibmphp: Convert to use the kthreads API Eric W. Biederman
2007-04-22 12:09   ` Christoph Hellwig
2007-04-19  6:55 ` [PATCH] cpqphp: Convert to use the kthread API Eric W. Biederman
2007-04-22 12:12   ` Christoph Hellwig
2007-04-19  6:55 ` [PATCH] pnpbios: Conert " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] sas_scsi_host: Convert " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] sparc64/power.c: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] s390/net/lcs: Convert to " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] s390 qeth: Convert to use " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] s390/scsi/zfcp_erp: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] arm ecard: Conver " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] ia64 sn xpc: Convert to use " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] powerpc pseries eeh: Convert to " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] powerpc pseries rtasd: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] macintosh/therm_pm72.c: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] macintosh/therm_windtunnel.c: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] macintosh/adb: Convert to the " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] macintosh/mediabay: Convert to " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] bluetooth bnep: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] bluetooth cmtp: Convert to use " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] bluetooth hidp: Convert to " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] bluetooth rfcomm: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] fs/afs: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] net/rxrpc: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] ipv4/ipvs: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] saa7134-tvaudio: " Eric W. Biederman
2007-04-20 12:48   ` Cedric Le Goater
2007-04-20 13:05     ` Christoph Hellwig
2007-04-19  6:55 ` [PATCH] nfs lockd reclaimer: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] nfsv4 delegation: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] nfsd/nfs4state: Remove unnecessary daemonize call Eric W. Biederman
2007-04-19  6:55 ` [PATCH] nfs4state reclaimer: Remove unnecessary allow_signal Eric W. Biederman
2007-04-19  6:55 ` [PATCH] smbfs: " Eric W. Biederman
2007-04-19  6:55 ` [PATCH] dvb_en_50221: Convert to kthread API Eric W. Biederman
2007-04-19  6:56 ` [PATCH] md: Remove broken SIGKILL support Eric W. Biederman
2007-04-19  6:56 ` [PATCH] synchro_test: Convert to the kthread API Eric W. Biederman
2007-04-19  6:56 ` Eric W. Biederman
2007-04-19  7:58 ` [PATCH] i386 balance_irq: Convert to the kthread api Eric W. Biederman
2007-04-19  7:58 ` [PATCH] i386 voyager: Convert the monitor thread to use the kthread API Eric W. Biederman
2007-04-19  7:58 ` [PATCH] mtd_blkdevs: Convert " Eric W. Biederman
2007-04-19  7:58 ` [PATCH] cpci_hotplug: " Eric W. Biederman
2007-04-19  7:58 ` [PATCH] ibmphp: Convert to use the kthreads API Eric W. Biederman
2007-04-19  7:58 ` [PATCH] cpqphp: Convert to use the kthread API Eric W. Biederman
2007-04-20  1:54   ` Andrew Morton
2007-04-19  7:58 ` [PATCH] pnpbios: Conert " Eric W. Biederman
2007-04-19  7:58 ` [PATCH] sas_scsi_host: Convert " Eric W. Biederman
2007-04-20  0:37   ` Andrew Morton
2007-04-22 19:38     ` Christoph Hellwig
2007-04-22 21:37       ` James Bottomley
2007-04-22 21:48         ` Eric W. Biederman
2007-04-19  7:58 ` [PATCH] sparc64/power.c: " Eric W. Biederman
2007-04-20  0:30   ` Andrew Morton
2007-04-19  7:58 ` [PATCH] s390/net/lcs: Convert to " Eric W. Biederman
2007-04-19  8:19   ` Frank Pavlic
2007-04-19  7:58 ` [PATCH] s390 qeth: Convert to use " Eric W. Biederman
2007-04-19  7:58 ` [PATCH] s390/scsi/zfcp_erp: " Eric W. Biederman
2007-04-22 20:17   ` Christoph Hellwig
2007-04-30 10:41     ` Swen Schillig
2007-04-19  7:58 ` [PATCH] arm ecard: Conver " Eric W. Biederman
2007-04-22 20:18   ` Christoph Hellwig
2007-04-19  7:58 ` [PATCH] ia64 sn xpc: Convert to use " Eric W. Biederman
2007-04-19 23:51   ` Andrew Morton
2007-04-20  6:23     ` Jes Sorensen
2007-04-20 14:21       ` Robin Holt
2007-04-21 19:53         ` Eric W. Biederman
2007-04-22 20:36   ` Christoph Hellwig
2007-04-23 17:11     ` Jes Sorensen
2007-04-23 17:11       ` Jes Sorensen
2007-04-23 17:36       ` Eric W. Biederman
2007-04-23 17:36         ` Eric W. Biederman
2007-04-23 19:03       ` Russ Anderson
2007-04-23 19:03         ` Russ Anderson
2007-04-27 17:41     ` Dean Nelson
2007-04-27 18:34       ` Eric W. Biederman
2007-04-27 20:12         ` Dean Nelson
2007-04-27 20:33           ` Eric W. Biederman
2007-04-30 15:22             ` Dean Nelson
2007-05-02 15:16               ` Dean Nelson
2007-05-02 15:44                 ` Eric W. Biederman
2007-05-17 13:44                   ` Dean Nelson
2007-04-26 20:00   ` Dean Nelson
2007-04-19  7:58 ` [PATCH] powerpc pseries eeh: Convert to " Eric W. Biederman
2007-04-19 23:47   ` Andrew Morton
2007-04-22 12:31   ` Christoph Hellwig
2007-04-22 12:31     ` Christoph Hellwig
2007-04-23 20:50     ` Linas Vepstas
2007-04-24  1:38       ` Benjamin Herrenschmidt
2007-04-24  1:38         ` Benjamin Herrenschmidt
2007-04-24  2:08         ` Eric W. Biederman
2007-04-24  2:08           ` Eric W. Biederman
2007-04-24  2:42           ` Benjamin Herrenschmidt
2007-04-24  2:42             ` Benjamin Herrenschmidt
2007-04-24  3:20             ` Eric W. Biederman
2007-04-24  3:20               ` Eric W. Biederman
2007-04-24  4:34               ` Paul Mackerras
2007-04-24  4:34                 ` Paul Mackerras
2007-04-24  4:34                 ` Paul Mackerras
2007-04-24  4:51                 ` Eric W. Biederman
2007-04-24  4:51                   ` Eric W. Biederman
2007-04-24  5:00               ` Benjamin Herrenschmidt
2007-04-24  5:00                 ` Benjamin Herrenschmidt
2007-04-24  5:43                 ` Eric W. Biederman
2007-04-24  5:43                   ` Eric W. Biederman
2007-04-24  5:58                   ` Benjamin Herrenschmidt
2007-04-24  5:58                     ` Benjamin Herrenschmidt
2007-04-24  6:17                   ` SOME STUFF ABOUT REISER4 lkml777
2007-04-24  6:17                     ` lkml777
2007-04-24 17:26                     ` Eric M. Hopper
2007-04-24  7:46                 ` [PATCH] powerpc pseries eeh: Convert to kthread API Cornelia Huck
2007-04-24  7:46                   ` Cornelia Huck
2007-04-24 17:24         ` Linas Vepstas [this message]
2007-04-24 17:24           ` Linas Vepstas
2007-04-24  5:55     ` Paul Mackerras
2007-04-24  5:55       ` Paul Mackerras
2007-04-24  8:37       ` Christoph Hellwig
2007-04-24  8:37         ` Christoph Hellwig
2007-04-24 17:35     ` Linas Vepstas
2007-04-19  7:58 ` [PATCH] powerpc pseries rtasd: " Eric W. Biederman
2007-04-22 12:34   ` Christoph Hellwig
2007-04-19  7:58 ` [PATCH] macintosh/therm_pm72.c: " Eric W. Biederman
2007-04-22 19:16   ` Christoph Hellwig
2007-04-22 22:46     ` Paul Mackerras
2007-04-19  7:58 ` [PATCH] macintosh/therm_windtunnel.c: " Eric W. Biederman
2007-04-19 23:37   ` Andrew Morton
2007-04-20  8:53     ` Benjamin Herrenschmidt
2007-04-19  7:58 ` [PATCH] macintosh/adb: Convert to the " Eric W. Biederman
2007-04-19  7:58 ` [PATCH] macintosh/mediabay: Convert to " Eric W. Biederman
2007-04-19 23:30   ` Andrew Morton
2007-04-20  8:51     ` Benjamin Herrenschmidt
2007-04-19  7:58 ` [PATCH] bluetooth bnep: " Eric W. Biederman
2007-04-19 23:24   ` Andrew Morton
2007-04-20 10:20     ` [Devel] " Cedric Le Goater
2007-04-20 12:37       ` Cedric Le Goater
2007-04-21 16:11         ` Satyam Sharma
2007-04-22 19:44     ` Christoph Hellwig
2007-04-23  3:12       ` [PATCH] kthread: Spontaneous exit support Eric W. Biederman
2007-04-23 11:25         ` Christoph Hellwig
2007-04-23 16:58           ` Oleg Nesterov
2007-04-23 17:45             ` Eric W. Biederman
2007-04-23 18:09               ` Christoph Hellwig
2007-04-23 18:20               ` Oleg Nesterov
2007-04-24 13:08           ` Jan Engelhardt
2007-04-24 13:34             ` Christoph Hellwig
2007-04-19  7:58 ` [PATCH] bluetooth cmtp: Convert to use kthread API Eric W. Biederman
2007-04-19  7:58 ` [PATCH] bluetooth hidp: Convert to " Eric W. Biederman
2007-04-19 23:20   ` Andrew Morton
2007-04-19  7:58 ` [PATCH] bluetooth rfcomm: " Eric W. Biederman
2007-04-19 23:12   ` Andrew Morton
2007-04-20 15:20     ` [Devel] " Cedric Le Goater
2007-04-22 20:14     ` Christoph Hellwig
2007-04-19  7:58 ` [PATCH] fs/afs: " Eric W. Biederman
2007-04-19  9:32   ` David Howells
2007-04-19  7:58 ` [PATCH] net/rxrpc: " Eric W. Biederman
2007-04-19  9:32   ` David Howells
2007-04-19 13:05     ` Eric W. Biederman
2007-04-19 14:18       ` Getting the new RxRPC patches upstream David Howells
2007-04-19 15:50         ` Eric W. Biederman
2007-04-19 16:18           ` David Howells
2007-04-19 19:14             ` Eric W. Biederman
2007-04-19 20:14         ` David Miller
2007-04-20  1:15           ` Herbert Xu
2007-04-20  8:02           ` David Howells
2007-04-20  8:58             ` David Miller
2007-04-20 10:41               ` David Howells
2007-04-20 18:38                 ` Andrew Morton
2007-04-20 21:28                   ` Oleg Nesterov
2007-04-23  8:32                     ` David Howells
2007-04-23 17:11                       ` Oleg Nesterov
2007-04-24 13:37                         ` David Howells
2007-04-24 14:22                           ` Oleg Nesterov
2007-04-24 15:51                             ` David Howells
2007-04-24 16:40                               ` Oleg Nesterov
2007-04-24 16:58                                 ` David Howells
2007-04-24 17:33                                   ` Oleg Nesterov
2007-04-24 18:22                                     ` David Howells
2007-04-24 19:34                                       ` Oleg Nesterov
2007-04-25  8:10                                         ` David Howells
2007-04-25 10:41                                           ` Oleg Nesterov
2007-04-25 10:45                                             ` David Howells
2007-04-25 13:48               ` David Howells
2007-04-19 23:05     ` [PATCH] net/rxrpc: Convert to kthread API Andrew Morton
2007-04-20  7:47       ` David Howells
2007-04-19  7:58 ` [PATCH] ipv4/ipvs: " Eric W. Biederman
2007-04-19  9:04   ` Simon Horman
2007-04-19 22:59     ` Andrew Morton
2007-04-22 19:50       ` Christoph Hellwig
2007-04-19  7:58 ` [PATCH] saa7134-tvaudio: " Eric W. Biederman
2007-04-19 22:52   ` Andrew Morton
2007-04-19  7:58 ` [PATCH] nfs lockd reclaimer: " Eric W. Biederman
2007-04-19 16:21   ` Trond Myklebust
2007-04-19 19:20     ` Eric W. Biederman
2007-04-19 21:19       ` Trond Myklebust
2007-04-19 21:25         ` Dave Hansen
2007-04-21 19:04           ` Eric W. Biederman
2007-04-19 21:40         ` Andrew Morton
2007-04-19 22:04           ` Trond Myklebust
2007-04-21 19:47             ` Eric W. Biederman
2007-04-19  7:59 ` [PATCH] nfsv4 delegation: " Eric W. Biederman
2007-04-19 16:22   ` Trond Myklebust
2007-04-19  7:59 ` [PATCH] nfsd/nfs4state: Remove unnecessary daemonize call Eric W. Biederman
2007-04-19  7:59 ` [PATCH] nfs4state reclaimer: Remove unnecessary allow_signal Eric W. Biederman
2007-04-19 16:26   ` Trond Myklebust
2007-04-19  7:59 ` [PATCH] smbfs: " Eric W. Biederman
2007-04-19 22:47   ` Andrew Morton
2007-04-19  7:59 ` [PATCH] dvb_en_50221: Convert to kthread API Eric W. Biederman
2007-04-19 22:34   ` Andrew Morton
2007-04-20  6:37     ` Christoph Hellwig
2007-04-20  6:48       ` Andrew Morton
2007-04-20  9:37         ` Cedric Le Goater
2007-04-19  7:59 ` [PATCH] md: Remove broken SIGKILL support Eric W. Biederman
2007-05-01  0:47   ` Neil Brown
2007-05-01  6:13     ` Eric W. Biederman
2007-04-19  7:59 ` [PATCH] synchro_test: Convert to the kthread API Eric W. Biederman
2007-04-19  7:59 ` Eric W. Biederman
2007-04-22 12:15 ` Remaining straight forward kthread API conversions Christoph Hellwig

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=20070424172448.GX31947@austin.ibm.com \
    --to=linas@austin.ibm.com \
    --cc=akpm@osdl.org \
    --cc=benh@kernel.crashing.org \
    --cc=containers@lists.osdl.org \
    --cc=ebiederm@xmission.com \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=oleg@tv-sign.ru \
    --cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.