Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1215819

Re: [PATCH] task_work: remove fifo ordering guarantee

From Linus Torvalds <torvalds@linux-foundation.org>
Newsgroups linux.kernel
Subject Re: [PATCH] task_work: remove fifo ordering guarantee
Date 2015-08-29 19:10 +0200
Message-ID <q2RND-86l-17@gated-at.bofh.it> (permalink)
References <q2Enn-5vz-5@gated-at.bofh.it> <q2NTI-2fK-9@gated-at.bofh.it> <q2OPL-3Bw-3@gated-at.bofh.it> <q2P98-4dD-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sat, Aug 29, 2015 at 7:11 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>
> If this needs to be kept, maybe then add following, to make sure
> we flush the list at most every BITS_PER_LONG files

Hmm.

I'm wondering if we should just make close_files() (or maybe even
filp_close()) use a synchronous fput().

Iirc, the reason we delay fput() is that we had some nasty issues for
the generic fput case. It was called from interrupt context by the aio
code, and just in general there's a lot of nasty cases that can cause
the final fput to happen (so there are lockdep issues with the mmap
locks because the last fput being from munmap etc).

Maybe I forget some detail - it's been several years by now - but I
think we could make the regular "close()" and "exit()" cases just use
the synchronous fput (it's called "__fput_sync()" and currently
explicitly limited to just kernel threads).

Al?

Because it feels all kinds of stupid to add things to the task-work
queue just to then remove it almost immediately again. And
close_files() is also called from various contexts. but the whole "put
the final 'files_struct' case is certainly not at all as special as
the 'put the final file'.

                    Linus
--
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/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] task_work: remove fifo ordering guarantee Eric Dumazet <eric.dumazet@gmail.com> - 2015-08-29 04:50 +0200
  Re: [PATCH] task_work: remove fifo ordering guarantee Linus Torvalds <torvalds@linux-foundation.org> - 2015-08-29 05:20 +0200
    Re: [PATCH] task_work: remove fifo ordering guarantee Ingo Molnar <mingo@kernel.org> - 2015-08-29 11:30 +0200
      Re: [PATCH] task_work: remove fifo ordering guarantee Oleg Nesterov <oleg@redhat.com> - 2015-08-29 15:00 +0200
        Re: [PATCH] task_work: remove fifo ordering guarantee Ingo Molnar <mingo@kernel.org> - 2015-08-31 08:10 +0200
          Re: [PATCH] task_work: remove fifo ordering guarantee Oleg Nesterov <oleg@redhat.com> - 2015-08-31 15:00 +0200
  Re: [PATCH] task_work: remove fifo ordering guarantee Oleg Nesterov <oleg@redhat.com> - 2015-08-29 15:00 +0200
    Re: [PATCH] task_work: remove fifo ordering guarantee Eric Dumazet <eric.dumazet@gmail.com> - 2015-08-29 16:00 +0200
      Re: [PATCH] task_work: remove fifo ordering guarantee Eric Dumazet <eric.dumazet@gmail.com> - 2015-08-29 16:20 +0200
        Re: [PATCH] task_work: remove fifo ordering guarantee Linus Torvalds <torvalds@linux-foundation.org> - 2015-08-29 19:10 +0200
          Re: [PATCH] task_work: remove fifo ordering guarantee yalin wang <yalin.wang2010@gmail.com> - 2015-08-31 07:30 +0200
            Re: [PATCH] task_work: remove fifo ordering guarantee Al Viro <viro@ZenIV.linux.org.uk> - 2015-09-05 07:20 +0200
          Re: [PATCH] task_work: remove fifo ordering guarantee Oleg Nesterov <oleg@redhat.com> - 2015-08-31 14:50 +0200
          Re: [PATCH] task_work: remove fifo ordering guarantee Al Viro <viro@ZenIV.linux.org.uk> - 2015-09-05 07:20 +0200
            Re: [PATCH] task_work: remove fifo ordering guarantee Al Viro <viro@ZenIV.linux.org.uk> - 2015-09-05 07:50 +0200
              Re: [PATCH] task_work: remove fifo ordering guarantee Linus Torvalds <torvalds@linux-foundation.org> - 2015-09-05 22:50 +0200
      change filp_close() to use __fput_sync() ? (Was: [PATCH]  task_work: remove fifo ordering guarantee) Oleg Nesterov <oleg@redhat.com> - 2015-08-31 14:10 +0200
    Re: [PATCH] task_work: remove fifo ordering guarantee Al Viro <viro@ZenIV.linux.org.uk> - 2015-09-05 07:40 +0200

csiph-web