* kernel stable 4.9 - NFSv4 callback processes fills process table
@ 2017-09-18 15:27 Jan Hudoba
2017-09-18 15:52 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Jan Hudoba @ 2017-09-18 15:27 UTC (permalink / raw)
To: stable
[-- Attachment #1.1: Type: text/plain, Size: 2522 bytes --]
hello,
when using nfs with automount (umount every N secs), every mount creates
"NFSv4 callback" process. after while these fills process table.
https://lists.debian.org/debian-kernel/2017/05/msg00193.html
https://bugzilla.redhat.com/show_bug.cgi?id=1427493
i have same problems. listed commits solved them.
thanks for including patches.
"Aurelien Jarno:"
It seems the issues is fixed since 4.12-rc1 by the following set of
commts:
| commit ed6473ddc704a2005b9900ca08e236ebb2d8540a
| Author: Trond Myklebust <trond.myklebust@primarydata.com>
| Date: Wed Apr 26 11:55:27 2017 -0400
|
| NFSv4: Fix callback server shutdown
|
| We want to use kthread_stop() in order to ensure the threads are
| shut down before we tear down the nfs_callback_info in
nfs_callback_down.
|
| Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
| Reported-by: Kinglong Mee <kinglongmee@gmail.com>
| Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using
svc_set_num_threads()...")
| Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
| Signed-off-by: J. Bruce Fields <bfields@redhat.com>
|
| commit 9e0d87680d689f1758185851c3da6eafb16e71e1
| Author: Trond Myklebust <trond.myklebust@primarydata.com>
| Date: Wed Apr 26 11:55:26 2017 -0400
|
| SUNRPC: Refactor svc_set_num_threads()
|
| Refactor to separate out the functions of starting and stopping
threads
| so that they can be used in other helpers.
|
| Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
| Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
| Signed-off-by: J. Bruce Fields <bfields@redhat.com>
|
| commit df807fffaabde625fa9adb82e3e5b88cdaa5709a
| Author: Kinglong Mee <kinglongmee@gmail.com>
| Date: Thu Apr 27 11:13:38 2017 +0800
|
| NFSv4.x/callback: Create the callback service through
svc_create_pooled
|
| As the comments for svc_set_num_threads() said,
| " Destroying threads relies on the service threads filling in
| rqstp->rq_task, which only the nfs ones do. Assumes the serv
| has been created using svc_create_pooled()."
|
| If creating service through svc_create(), the svc_pool_map_put()
| will be called in svc_destroy(), but the pool map isn't used.
| So that, the reference of pool map will be drop, the next using
| of pool map will get a zero npools.
--
S pozdravom / Yours sincerely
Ing. Jan Hudoba
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: kernel stable 4.9 - NFSv4 callback processes fills process table
2017-09-18 15:27 kernel stable 4.9 - NFSv4 callback processes fills process table Jan Hudoba
@ 2017-09-18 15:52 ` Greg KH
2017-09-18 16:06 ` Jan Hudoba
0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2017-09-18 15:52 UTC (permalink / raw)
To: Jan Hudoba; +Cc: stable
On Mon, Sep 18, 2017 at 05:27:00PM +0200, Jan Hudoba wrote:
> hello,
> when using nfs with automount (umount every N secs), every mount creates
> "NFSv4 callback" process. after while these fills process table.
>
> https://lists.debian.org/debian-kernel/2017/05/msg00193.html
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1427493
>
> i have same problems. listed commits solved them.
> thanks for including patches.
>
> "Aurelien Jarno:"
>
> It seems the issues is fixed since 4.12-rc1 by the following set of
> commts:
>
>
>
> | commit ed6473ddc704a2005b9900ca08e236ebb2d8540a
> | Author: Trond Myklebust <trond.myklebust@primarydata.com>
> | Date: Wed Apr 26 11:55:27 2017 -0400
> |
> | NFSv4: Fix callback server shutdown
> |
> | We want to use kthread_stop() in order to ensure the threads are
> | shut down before we tear down the nfs_callback_info in
> nfs_callback_down.
> |
> | Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
> | Reported-by: Kinglong Mee <kinglongmee@gmail.com>
> | Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using
> svc_set_num_threads()...")
> | Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
> | Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> |
> | commit 9e0d87680d689f1758185851c3da6eafb16e71e1
> | Author: Trond Myklebust <trond.myklebust@primarydata.com>
> | Date: Wed Apr 26 11:55:26 2017 -0400
> |
> | SUNRPC: Refactor svc_set_num_threads()
> |
> | Refactor to separate out the functions of starting and stopping
> threads
> | so that they can be used in other helpers.
> |
> | Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
> | Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
> | Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> |
> | commit df807fffaabde625fa9adb82e3e5b88cdaa5709a
> | Author: Kinglong Mee <kinglongmee@gmail.com>
> | Date: Thu Apr 27 11:13:38 2017 +0800
> |
> | NFSv4.x/callback: Create the callback service through
> svc_create_pooled
> |
> | As the comments for svc_set_num_threads() said,
> | " Destroying threads relies on the service threads filling in
> | rqstp->rq_task, which only the nfs ones do. Assumes the serv
> | has been created using svc_create_pooled()."
> |
> | If creating service through svc_create(), the svc_pool_map_put()
> | will be called in svc_destroy(), but the pool map isn't used.
> | So that, the reference of pool map will be drop, the next using
> | of pool map will get a zero npools.
Care to cc: the authors/maintainers of these patches to see if they
agree it should be backported?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: kernel stable 4.9 - NFSv4 callback processes fills process table
2017-09-18 15:52 ` Greg KH
@ 2017-09-18 16:06 ` Jan Hudoba
2017-09-18 18:05 ` Holger Hoffstätte
0 siblings, 1 reply; 4+ messages in thread
From: Jan Hudoba @ 2017-09-18 16:06 UTC (permalink / raw)
To: stable; +Cc: Trond Myklebust, Kinglong Mee
[-- Attachment #1.1: Type: text/plain, Size: 2964 bytes --]
On 09/18/2017 05:52 PM, Greg KH wrote:
> On Mon, Sep 18, 2017 at 05:27:00PM +0200, Jan Hudoba wrote:
>> hello,
>> when using nfs with automount (umount every N secs), every mount creates
>> "NFSv4 callback" process. after while these fills process table.
>>
>> https://lists.debian.org/debian-kernel/2017/05/msg00193.html
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1427493
>>
>> i have same problems. listed commits solved them.
>> thanks for including patches.
>>
>> "Aurelien Jarno:"
>>
>> It seems the issues is fixed since 4.12-rc1 by the following set of
>> commts:
>>
>>
>>
>> | commit ed6473ddc704a2005b9900ca08e236ebb2d8540a
>> | Author: Trond Myklebust <trond.myklebust@primarydata.com>
>> | Date: Wed Apr 26 11:55:27 2017 -0400
>> |
>> | NFSv4: Fix callback server shutdown
>> |
>> | We want to use kthread_stop() in order to ensure the threads are
>> | shut down before we tear down the nfs_callback_info in
>> nfs_callback_down.
>> |
>> | Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
>> | Reported-by: Kinglong Mee <kinglongmee@gmail.com>
>> | Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using
>> svc_set_num_threads()...")
>> | Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
>> | Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>> |
>> | commit 9e0d87680d689f1758185851c3da6eafb16e71e1
>> | Author: Trond Myklebust <trond.myklebust@primarydata.com>
>> | Date: Wed Apr 26 11:55:26 2017 -0400
>> |
>> | SUNRPC: Refactor svc_set_num_threads()
>> |
>> | Refactor to separate out the functions of starting and stopping
>> threads
>> | so that they can be used in other helpers.
>> |
>> | Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
>> | Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
>> | Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>> |
>> | commit df807fffaabde625fa9adb82e3e5b88cdaa5709a
>> | Author: Kinglong Mee <kinglongmee@gmail.com>
>> | Date: Thu Apr 27 11:13:38 2017 +0800
>> |
>> | NFSv4.x/callback: Create the callback service through
>> svc_create_pooled
>> |
>> | As the comments for svc_set_num_threads() said,
>> | " Destroying threads relies on the service threads filling in
>> | rqstp->rq_task, which only the nfs ones do. Assumes the serv
>> | has been created using svc_create_pooled()."
>> |
>> | If creating service through svc_create(), the svc_pool_map_put()
>> | will be called in svc_destroy(), but the pool map isn't used.
>> | So that, the reference of pool map will be drop, the next using
>> | of pool map will get a zero npools.
>
>
> Care to cc: the authors/maintainers of these patches to see if they
> agree it should be backported?
>
> thanks,
>
> greg k-h
>
--
S pozdravom / Yours sincerely
Ing. Jan Hudoba
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: kernel stable 4.9 - NFSv4 callback processes fills process table
2017-09-18 16:06 ` Jan Hudoba
@ 2017-09-18 18:05 ` Holger Hoffstätte
0 siblings, 0 replies; 4+ messages in thread
From: Holger Hoffstätte @ 2017-09-18 18:05 UTC (permalink / raw)
To: Jan Hudoba, stable; +Cc: Trond Myklebust, Kinglong Mee
[-- Attachment #1.1: Type: text/plain, Size: 3380 bytes --]
On 09/18/17 18:06, Jan Hudoba wrote:
>
>
> On 09/18/2017 05:52 PM, Greg KH wrote:
>> On Mon, Sep 18, 2017 at 05:27:00PM +0200, Jan Hudoba wrote:
>>> hello,
>>> when using nfs with automount (umount every N secs), every mount creates
>>> "NFSv4 callback" process. after while these fills process table.
>>>
>>> https://lists.debian.org/debian-kernel/2017/05/msg00193.html
>>>
>>> https://bugzilla.redhat.com/show_bug.cgi?id=1427493
>>>
>>> i have same problems. listed commits solved them.
>>> thanks for including patches.
>>>
>>> "Aurelien Jarno:"
>>>
>>> It seems the issues is fixed since 4.12-rc1 by the following set of
>>> commts:
>>>
>>>
>>>
>>> | commit ed6473ddc704a2005b9900ca08e236ebb2d8540a
>>> | Author: Trond Myklebust <trond.myklebust@primarydata.com>
>>> | Date: Wed Apr 26 11:55:27 2017 -0400
>>> |
>>> | NFSv4: Fix callback server shutdown
>>> |
>>> | We want to use kthread_stop() in order to ensure the threads are
>>> | shut down before we tear down the nfs_callback_info in
>>> nfs_callback_down.
>>> |
>>> | Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
>>> | Reported-by: Kinglong Mee <kinglongmee@gmail.com>
>>> | Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using
>>> svc_set_num_threads()...")
>>> | Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
>>> | Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>>> |
>>> | commit 9e0d87680d689f1758185851c3da6eafb16e71e1
>>> | Author: Trond Myklebust <trond.myklebust@primarydata.com>
>>> | Date: Wed Apr 26 11:55:26 2017 -0400
>>> |
>>> | SUNRPC: Refactor svc_set_num_threads()
>>> |
>>> | Refactor to separate out the functions of starting and stopping
>>> threads
>>> | so that they can be used in other helpers.
>>> |
>>> | Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
>>> | Tested-and-reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
>>> | Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>>> |
>>> | commit df807fffaabde625fa9adb82e3e5b88cdaa5709a
>>> | Author: Kinglong Mee <kinglongmee@gmail.com>
>>> | Date: Thu Apr 27 11:13:38 2017 +0800
>>> |
>>> | NFSv4.x/callback: Create the callback service through
>>> svc_create_pooled
>>> |
>>> | As the comments for svc_set_num_threads() said,
>>> | " Destroying threads relies on the service threads filling in
>>> | rqstp->rq_task, which only the nfs ones do. Assumes the serv
>>> | has been created using svc_create_pooled()."
>>> |
>>> | If creating service through svc_create(), the svc_pool_map_put()
>>> | will be called in svc_destroy(), but the pool map isn't used.
>>> | So that, the reference of pool map will be drop, the next using
>>> | of pool map will get a zero npools.
>>
>>
>> Care to cc: the authors/maintainers of these patches to see if they
>> agree it should be backported?
>>
>> thanks,
>>
>> greg k-h
I also use automounter and can confirm this, though I never noticed
until now. Just a heads up for merging: commit df807fffaa is already in
4.9x-stable as 4ebe28d23d.
I can also confirm that the other two patches (here on top of 4.9.51)
seem to do the trick: multiple mount/unmount sequences no longer create
a growing number of callback threads.
-h
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-09-18 18:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-18 15:27 kernel stable 4.9 - NFSv4 callback processes fills process table Jan Hudoba
2017-09-18 15:52 ` Greg KH
2017-09-18 16:06 ` Jan Hudoba
2017-09-18 18:05 ` Holger Hoffstätte
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.