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


Groups > linux.kernel > #1503927

Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as potentially sleeping

From Andy Lutomirski <luto@amacapital.net>
Newsgroups linux.kernel
Subject Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as potentially sleeping
Date 2016-10-19 17:40 +0200
Message-ID <su18d-37s-9@gated-at.bofh.it> (permalink)
References <stwxs-6Bz-1@gated-at.bofh.it> <stwxs-6Bz-15@gated-at.bofh.it> <su02v-2rf-99@gated-at.bofh.it> <su02v-2rf-97@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Oct 19, 2016 at 6:05 AM, Christoph Hellwig <hch@lst.de> wrote:
> On Wed, Oct 19, 2016 at 12:15:41PM +0100, Chris Wilson wrote:
>> On Tue, Oct 18, 2016 at 08:56:07AM +0200, Christoph Hellwig wrote:
>> > This is how everyone seems to already use them, but let's make that
>> > explicit.
>>
>> Ah, found an exception, vmapped stacks:
>
> Oh, fun.  So if we can't require vfree to be called from process context
> we also can't use a mutex to wait for the vmap flushing.  Given that we
> free stacks from the scheduler context switch I also fear there is no
> good way to get a sleepable context there.
>
> The only other idea I had was to use vmap_area_lock for the protection
> that purge_lock currently provides, but that would require some serious
> refactoring to avoid recursive locking first.

It would be quite awkward for a task stack to get freed from a
sleepable context, because the obvious sleepable context is the task
itself, and it still needs its stack.  This was true even in the old
regime when task stacks were freed from RCU context.

But vfree has a magic automatic deferral mechanism.  Couldn't you make
the non-deferred case might_sleep()?

-- 
Andy Lutomirski
AMA Capital Management, LLC

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


Thread

[RFC] reduce latency in __purge_vmap_area_lazy Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
  [PATCH 5/6] mm: turn vmap_purge_lock into a mutex Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
  [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as potentially sleeping Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
    Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as  potentially sleeping Chris Wilson <chris@chris-wilson.co.uk> - 2016-10-18 12:40 +0200
      Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as         potentially sleeping Christoph Hellwig <hch@lst.de> - 2016-10-18 12:40 +0200
    Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as         potentially sleeping Christoph Hellwig <hch@lst.de> - 2016-10-19 16:30 +0200
      Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as  potentially sleeping Andy Lutomirski <luto@amacapital.net> - 2016-10-19 17:40 +0200
        Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as         potentially sleeping Christoph Hellwig <hch@lst.de> - 2016-10-19 18:40 +0200
          Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as  potentially sleeping Chris Wilson <chris@chris-wilson.co.uk> - 2016-10-19 21:50 +0200
          Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as  potentially sleeping Joel Fernandes <joelaf@google.com> - 2016-10-21 02:40 +0200
    Re: [PATCH 2/6] mm: mark all calls into the vmalloc subsystem as  potentially sleeping Chris Wilson <chris@chris-wilson.co.uk> - 2016-10-19 16:40 +0200
  [PATCH 1/6] mm: refactor __purge_vmap_area_lazy Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
  [PATCH 4/6] mm: remove free_unmap_vmap_area_addr Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
    Re: [PATCH 4/6] mm: remove free_unmap_vmap_area_addr Joel Fernandes <joelaf@google.com> - 2016-10-21 02:50 +0200
      Re: [PATCH 4/6] mm: remove free_unmap_vmap_area_addr Nicholas Piggin <npiggin@gmail.com> - 2016-10-21 04:00 +0200
  [PATCH 3/6] mm: remove free_unmap_vmap_area_noflush Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
  [PATCH 6/6] mm: add preempt points into __purge_vmap_area_lazy Christoph Hellwig <hch@lst.de> - 2016-10-18 09:00 +0200
    Re: [PATCH 6/6] mm: add preempt points into __purge_vmap_area_lazy Steven Rostedt <rostedt@goodmis.org> - 2016-10-18 23:00 +0200
      Re: [PATCH 6/6] mm: add preempt points into __purge_vmap_area_lazy Steven Rostedt <rostedt@goodmis.org> - 2016-10-18 23:10 +0200
  Re: [RFC] reduce latency in __purge_vmap_area_lazy Nicholas Piggin <npiggin@gmail.com> - 2016-10-18 12:50 +0200
  Re: [RFC] reduce latency in __purge_vmap_area_lazy Jisheng Zhang <jszhang@marvell.com> - 2016-10-18 13:30 +0200
  Re: [RFC] reduce latency in __purge_vmap_area_lazy Joel Fernandes <joelaf@google.com> - 2016-10-21 03:10 +0200

csiph-web