All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>, Ingo Molnar <mingo@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux-MM <linux-mm@kvack.org>,
	xfs@oss.sgi.com, ppc-dev <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH 4/4] mm: numa: Slow PTE scan rate if migration failures occur
Date: Fri, 20 Mar 2015 10:23:26 +1100	[thread overview]
Message-ID: <20150319232326.GM10105@dastard> (raw)
In-Reply-To: <CA+55aFy5UeNnFUTi619cs3b9Up2NQ1wbuyvcCS614+o3=z=wBQ@mail.gmail.com>

On Thu, Mar 19, 2015 at 04:05:46PM -0700, Linus Torvalds wrote:
> On Thu, Mar 19, 2015 at 3:41 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > My recollection wasn't faulty - I pulled it from an earlier email.
> > That said, the original measurement might have been faulty. I ran
> > the numbers again on the 3.19 kernel I saved away from the original
> > testing. That came up at 235k, which is pretty much the same as
> > yesterday's test. The runtime,however, is unchanged from my original
> > measurements of 4m54s (pte_hack came in at 5m20s).
> 
> Ok. Good. So the "more than an order of magnitude difference" was
> really about measurement differences, not quite as real. Looks like
> more a "factor of two" than a factor of 20.
> 
> Did you do the profiles the same way? Because that would explain the
> differences in the TLB flush percentages too (the "1.4% from
> tlb_invalidate_range()" vs "pretty much everything from migration").

No, the profiles all came from steady state. The profiles from the
initial startup phase hammer the mmap_sem because of page fault vs
mprotect contention (glibc runs mprotect() on every chunk of
memory it allocates). It's not until the cache reaches "full" and it
starts recycling old buffers rather than allocating new ones that
the tlb flush problem dominates the profiles.

> The runtime variation does show that there's some *big* subtle
> difference for the numa balancing in the exact TNF_NO_GROUP details.
> It must be *very* unstable for it to make that big of a difference.
> But I feel at least a *bit* better about "unstable algorithm changes a
> small varioation into a factor-of-two" vs that crazy factor-of-20.
> 
> Can you try Mel's change to make it use
> 
>         if (!(vma->vm_flags & VM_WRITE))
> 
> instead of the pte details? Again, on otherwise plain 3.19, just so
> that we have a baseline. I'd be *so* much happer with checking the vma
> details over per-pte details, especially ones that change over the
> lifetime of the pte entry, and the NUMA code explicitly mucks with.

Yup, will do. might take an hour or two before I get to it, though...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	xfs@oss.sgi.com, Linux-MM <linux-mm@kvack.org>,
	Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	ppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Ingo Molnar <mingo@kernel.org>, Mel Gorman <mgorman@suse.de>
Subject: Re: [PATCH 4/4] mm: numa: Slow PTE scan rate if migration failures occur
Date: Fri, 20 Mar 2015 10:23:26 +1100	[thread overview]
Message-ID: <20150319232326.GM10105@dastard> (raw)
In-Reply-To: <CA+55aFy5UeNnFUTi619cs3b9Up2NQ1wbuyvcCS614+o3=z=wBQ@mail.gmail.com>

On Thu, Mar 19, 2015 at 04:05:46PM -0700, Linus Torvalds wrote:
> On Thu, Mar 19, 2015 at 3:41 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > My recollection wasn't faulty - I pulled it from an earlier email.
> > That said, the original measurement might have been faulty. I ran
> > the numbers again on the 3.19 kernel I saved away from the original
> > testing. That came up at 235k, which is pretty much the same as
> > yesterday's test. The runtime,however, is unchanged from my original
> > measurements of 4m54s (pte_hack came in at 5m20s).
> 
> Ok. Good. So the "more than an order of magnitude difference" was
> really about measurement differences, not quite as real. Looks like
> more a "factor of two" than a factor of 20.
> 
> Did you do the profiles the same way? Because that would explain the
> differences in the TLB flush percentages too (the "1.4% from
> tlb_invalidate_range()" vs "pretty much everything from migration").

No, the profiles all came from steady state. The profiles from the
initial startup phase hammer the mmap_sem because of page fault vs
mprotect contention (glibc runs mprotect() on every chunk of
memory it allocates). It's not until the cache reaches "full" and it
starts recycling old buffers rather than allocating new ones that
the tlb flush problem dominates the profiles.

> The runtime variation does show that there's some *big* subtle
> difference for the numa balancing in the exact TNF_NO_GROUP details.
> It must be *very* unstable for it to make that big of a difference.
> But I feel at least a *bit* better about "unstable algorithm changes a
> small varioation into a factor-of-two" vs that crazy factor-of-20.
> 
> Can you try Mel's change to make it use
> 
>         if (!(vma->vm_flags & VM_WRITE))
> 
> instead of the pte details? Again, on otherwise plain 3.19, just so
> that we have a baseline. I'd be *so* much happer with checking the vma
> details over per-pte details, especially ones that change over the
> lifetime of the pte entry, and the NUMA code explicitly mucks with.

Yup, will do. might take an hour or two before I get to it, though...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>, Ingo Molnar <mingo@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux-MM <linux-mm@kvack.org>,
	xfs@oss.sgi.com, ppc-dev <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH 4/4] mm: numa: Slow PTE scan rate if migration failures occur
Date: Fri, 20 Mar 2015 10:23:26 +1100	[thread overview]
Message-ID: <20150319232326.GM10105@dastard> (raw)
In-Reply-To: <CA+55aFy5UeNnFUTi619cs3b9Up2NQ1wbuyvcCS614+o3=z=wBQ@mail.gmail.com>

On Thu, Mar 19, 2015 at 04:05:46PM -0700, Linus Torvalds wrote:
> On Thu, Mar 19, 2015 at 3:41 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > My recollection wasn't faulty - I pulled it from an earlier email.
> > That said, the original measurement might have been faulty. I ran
> > the numbers again on the 3.19 kernel I saved away from the original
> > testing. That came up at 235k, which is pretty much the same as
> > yesterday's test. The runtime,however, is unchanged from my original
> > measurements of 4m54s (pte_hack came in at 5m20s).
> 
> Ok. Good. So the "more than an order of magnitude difference" was
> really about measurement differences, not quite as real. Looks like
> more a "factor of two" than a factor of 20.
> 
> Did you do the profiles the same way? Because that would explain the
> differences in the TLB flush percentages too (the "1.4% from
> tlb_invalidate_range()" vs "pretty much everything from migration").

No, the profiles all came from steady state. The profiles from the
initial startup phase hammer the mmap_sem because of page fault vs
mprotect contention (glibc runs mprotect() on every chunk of
memory it allocates). It's not until the cache reaches "full" and it
starts recycling old buffers rather than allocating new ones that
the tlb flush problem dominates the profiles.

> The runtime variation does show that there's some *big* subtle
> difference for the numa balancing in the exact TNF_NO_GROUP details.
> It must be *very* unstable for it to make that big of a difference.
> But I feel at least a *bit* better about "unstable algorithm changes a
> small varioation into a factor-of-two" vs that crazy factor-of-20.
> 
> Can you try Mel's change to make it use
> 
>         if (!(vma->vm_flags & VM_WRITE))
> 
> instead of the pte details? Again, on otherwise plain 3.19, just so
> that we have a baseline. I'd be *so* much happer with checking the vma
> details over per-pte details, especially ones that change over the
> lifetime of the pte entry, and the NUMA code explicitly mucks with.

Yup, will do. might take an hour or two before I get to it, though...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	xfs@oss.sgi.com, Linux-MM <linux-mm@kvack.org>,
	Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	ppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Ingo Molnar <mingo@kernel.org>, Mel Gorman <mgorman@suse.de>
Subject: Re: [PATCH 4/4] mm: numa: Slow PTE scan rate if migration failures occur
Date: Fri, 20 Mar 2015 10:23:26 +1100	[thread overview]
Message-ID: <20150319232326.GM10105@dastard> (raw)
In-Reply-To: <CA+55aFy5UeNnFUTi619cs3b9Up2NQ1wbuyvcCS614+o3=z=wBQ@mail.gmail.com>

On Thu, Mar 19, 2015 at 04:05:46PM -0700, Linus Torvalds wrote:
> On Thu, Mar 19, 2015 at 3:41 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > My recollection wasn't faulty - I pulled it from an earlier email.
> > That said, the original measurement might have been faulty. I ran
> > the numbers again on the 3.19 kernel I saved away from the original
> > testing. That came up at 235k, which is pretty much the same as
> > yesterday's test. The runtime,however, is unchanged from my original
> > measurements of 4m54s (pte_hack came in at 5m20s).
> 
> Ok. Good. So the "more than an order of magnitude difference" was
> really about measurement differences, not quite as real. Looks like
> more a "factor of two" than a factor of 20.
> 
> Did you do the profiles the same way? Because that would explain the
> differences in the TLB flush percentages too (the "1.4% from
> tlb_invalidate_range()" vs "pretty much everything from migration").

No, the profiles all came from steady state. The profiles from the
initial startup phase hammer the mmap_sem because of page fault vs
mprotect contention (glibc runs mprotect() on every chunk of
memory it allocates). It's not until the cache reaches "full" and it
starts recycling old buffers rather than allocating new ones that
the tlb flush problem dominates the profiles.

> The runtime variation does show that there's some *big* subtle
> difference for the numa balancing in the exact TNF_NO_GROUP details.
> It must be *very* unstable for it to make that big of a difference.
> But I feel at least a *bit* better about "unstable algorithm changes a
> small varioation into a factor-of-two" vs that crazy factor-of-20.
> 
> Can you try Mel's change to make it use
> 
>         if (!(vma->vm_flags & VM_WRITE))
> 
> instead of the pte details? Again, on otherwise plain 3.19, just so
> that we have a baseline. I'd be *so* much happer with checking the vma
> details over per-pte details, especially ones that change over the
> lifetime of the pte entry, and the NUMA code explicitly mucks with.

Yup, will do. might take an hour or two before I get to it, though...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2015-03-19 23:31 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-07 15:20 [RFC PATCH 0/4] Automatic NUMA balancing and PROT_NONE handling followup v2r8 Mel Gorman
2015-03-07 15:20 ` Mel Gorman
2015-03-07 15:20 ` Mel Gorman
2015-03-07 15:20 ` Mel Gorman
2015-03-07 15:20 ` [PATCH 1/4] mm: thp: Return the correct value for change_huge_pmd Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 20:13   ` Linus Torvalds
2015-03-07 20:13     ` Linus Torvalds
2015-03-07 20:13     ` Linus Torvalds
2015-03-07 20:13     ` Linus Torvalds
2015-03-07 20:31   ` Linus Torvalds
2015-03-07 20:31     ` Linus Torvalds
2015-03-07 20:31     ` Linus Torvalds
2015-03-07 20:31     ` Linus Torvalds
2015-03-07 20:56     ` Mel Gorman
2015-03-07 20:56       ` Mel Gorman
2015-03-07 20:56       ` Mel Gorman
2015-03-07 20:56       ` Mel Gorman
2015-03-07 15:20 ` [PATCH 2/4] mm: numa: Remove migrate_ratelimited Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20 ` [PATCH 3/4] mm: numa: Mark huge PTEs young when clearing NUMA hinting faults Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 18:33   ` Linus Torvalds
2015-03-07 18:33     ` Linus Torvalds
2015-03-07 18:33     ` Linus Torvalds
2015-03-07 18:33     ` Linus Torvalds
2015-03-07 18:42     ` Linus Torvalds
2015-03-07 18:42       ` Linus Torvalds
2015-03-07 18:42       ` Linus Torvalds
2015-03-07 18:42       ` Linus Torvalds
2015-03-07 15:20 ` [PATCH 4/4] mm: numa: Slow PTE scan rate if migration failures occur Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 15:20   ` Mel Gorman
2015-03-07 16:36   ` Ingo Molnar
2015-03-07 16:36     ` Ingo Molnar
2015-03-07 16:36     ` Ingo Molnar
2015-03-07 16:36     ` Ingo Molnar
2015-03-07 17:37     ` Mel Gorman
2015-03-07 17:37       ` Mel Gorman
2015-03-07 17:37       ` Mel Gorman
2015-03-07 17:37       ` Mel Gorman
2015-03-08  9:54       ` Ingo Molnar
2015-03-08  9:54         ` Ingo Molnar
2015-03-08  9:54         ` Ingo Molnar
2015-03-08  9:54         ` Ingo Molnar
2015-03-07 19:12     ` Linus Torvalds
2015-03-07 19:12       ` Linus Torvalds
2015-03-07 19:12       ` Linus Torvalds
2015-03-07 19:12       ` Linus Torvalds
2015-03-08 10:02       ` Ingo Molnar
2015-03-08 10:02         ` Ingo Molnar
2015-03-08 10:02         ` Ingo Molnar
2015-03-08 10:02         ` Ingo Molnar
2015-03-08 18:35         ` Linus Torvalds
2015-03-08 18:35           ` Linus Torvalds
2015-03-08 18:35           ` Linus Torvalds
2015-03-08 18:35           ` Linus Torvalds
2015-03-08 18:46           ` Linus Torvalds
2015-03-08 18:46             ` Linus Torvalds
2015-03-08 18:46             ` Linus Torvalds
2015-03-08 18:46             ` Linus Torvalds
2015-03-09 11:29           ` Dave Chinner
2015-03-09 11:29             ` Dave Chinner
2015-03-09 11:29             ` Dave Chinner
2015-03-09 11:29             ` Dave Chinner
2015-03-09 16:52             ` Linus Torvalds
2015-03-09 16:52               ` Linus Torvalds
2015-03-09 16:52               ` Linus Torvalds
2015-03-09 16:52               ` Linus Torvalds
2015-03-09 19:19               ` Dave Chinner
2015-03-09 19:19                 ` Dave Chinner
2015-03-09 19:19                 ` Dave Chinner
2015-03-10 23:55                 ` Linus Torvalds
2015-03-10 23:55                   ` Linus Torvalds
2015-03-10 23:55                   ` Linus Torvalds
2015-03-10 23:55                   ` Linus Torvalds
2015-03-12 13:10                   ` Mel Gorman
2015-03-12 13:10                     ` Mel Gorman
2015-03-12 13:10                     ` Mel Gorman
2015-03-12 13:10                     ` Mel Gorman
2015-03-12 16:20                     ` Linus Torvalds
2015-03-12 16:20                       ` Linus Torvalds
2015-03-12 16:20                       ` Linus Torvalds
2015-03-12 16:20                       ` Linus Torvalds
2015-03-12 18:49                       ` Mel Gorman
2015-03-12 18:49                         ` Mel Gorman
2015-03-12 18:49                         ` Mel Gorman
2015-03-12 18:49                         ` Mel Gorman
2015-03-17  7:06                         ` Dave Chinner
2015-03-17  7:06                           ` Dave Chinner
2015-03-17  7:06                           ` Dave Chinner
2015-03-17  7:06                           ` Dave Chinner
2015-03-17 16:53                           ` Linus Torvalds
2015-03-17 16:53                             ` Linus Torvalds
2015-03-17 16:53                             ` Linus Torvalds
2015-03-17 16:53                             ` Linus Torvalds
2015-03-17 20:51                             ` Dave Chinner
2015-03-17 20:51                               ` Dave Chinner
2015-03-17 20:51                               ` Dave Chinner
2015-03-17 20:51                               ` Dave Chinner
2015-03-17 21:30                               ` Linus Torvalds
2015-03-17 21:30                                 ` Linus Torvalds
2015-03-17 21:30                                 ` Linus Torvalds
2015-03-17 21:30                                 ` Linus Torvalds
2015-03-17 22:08                                 ` Dave Chinner
2015-03-17 22:08                                   ` Dave Chinner
2015-03-17 22:08                                   ` Dave Chinner
2015-03-17 22:08                                   ` Dave Chinner
2015-03-18 16:08                                   ` Linus Torvalds
2015-03-18 16:08                                     ` Linus Torvalds
2015-03-18 16:08                                     ` Linus Torvalds
2015-03-18 16:08                                     ` Linus Torvalds
2015-03-18 17:31                                     ` Linus Torvalds
2015-03-18 17:31                                       ` Linus Torvalds
2015-03-18 17:31                                       ` Linus Torvalds
2015-03-18 17:31                                       ` Linus Torvalds
2015-03-18 22:23                                       ` Dave Chinner
2015-03-18 22:23                                         ` Dave Chinner
2015-03-18 22:23                                         ` Dave Chinner
2015-03-18 22:23                                         ` Dave Chinner
2015-03-19 14:10                                       ` Mel Gorman
2015-03-19 14:10                                         ` Mel Gorman
2015-03-19 14:10                                         ` Mel Gorman
2015-03-19 14:10                                         ` Mel Gorman
2015-03-19 18:09                                         ` Linus Torvalds
2015-03-19 18:09                                           ` Linus Torvalds
2015-03-19 18:09                                           ` Linus Torvalds
2015-03-19 18:09                                           ` Linus Torvalds
2015-03-19 21:41                                       ` Linus Torvalds
2015-03-19 21:41                                         ` Linus Torvalds
2015-03-19 21:41                                         ` Linus Torvalds
2015-03-19 21:41                                         ` Linus Torvalds
2015-03-19 22:41                                         ` Dave Chinner
2015-03-19 22:41                                           ` Dave Chinner
2015-03-19 22:41                                           ` Dave Chinner
2015-03-19 22:41                                           ` Dave Chinner
2015-03-19 23:05                                           ` Linus Torvalds
2015-03-19 23:05                                             ` Linus Torvalds
2015-03-19 23:05                                             ` Linus Torvalds
2015-03-19 23:05                                             ` Linus Torvalds
2015-03-19 23:23                                             ` Dave Chinner [this message]
2015-03-19 23:23                                               ` Dave Chinner
2015-03-19 23:23                                               ` Dave Chinner
2015-03-19 23:23                                               ` Dave Chinner
2015-03-20  0:23                                             ` Dave Chinner
2015-03-20  0:23                                               ` Dave Chinner
2015-03-20  0:23                                               ` Dave Chinner
2015-03-20  0:23                                               ` Dave Chinner
2015-03-20  1:29                                               ` Linus Torvalds
2015-03-20  1:29                                                 ` Linus Torvalds
2015-03-20  1:29                                                 ` Linus Torvalds
2015-03-20  1:29                                                 ` Linus Torvalds
2015-03-20  4:13                                                 ` Dave Chinner
2015-03-20  4:13                                                   ` Dave Chinner
2015-03-20  4:13                                                   ` Dave Chinner
2015-03-20  4:13                                                   ` Dave Chinner
2015-03-20 17:02                                                   ` Linus Torvalds
2015-03-20 17:02                                                     ` Linus Torvalds
2015-03-20 17:02                                                     ` Linus Torvalds
2015-03-20 17:02                                                     ` Linus Torvalds
2015-03-23 12:01                                                     ` Mel Gorman
2015-03-23 12:01                                                       ` Mel Gorman
2015-03-23 12:01                                                       ` Mel Gorman
2015-03-23 12:01                                                       ` Mel Gorman
2015-03-20 10:12                                                 ` Mel Gorman
2015-03-20 10:12                                                   ` Mel Gorman
2015-03-20 10:12                                                   ` Mel Gorman
2015-03-20 10:12                                                   ` Mel Gorman
2015-03-20  9:56                                             ` Mel Gorman
2015-03-20  9:56                                               ` Mel Gorman
2015-03-20  9:56                                               ` Mel Gorman
2015-03-20  9:56                                               ` Mel Gorman
2015-03-08 20:40         ` Mel Gorman
2015-03-08 20:40           ` Mel Gorman
2015-03-08 20:40           ` Mel Gorman
2015-03-08 20:40           ` Mel Gorman
2015-03-09 21:02           ` Mel Gorman
2015-03-09 21:02             ` Mel Gorman
2015-03-09 21:02             ` Mel Gorman
2015-03-09 21:02             ` Mel Gorman
2015-03-10 13:08             ` Mel Gorman
2015-03-10 13:08               ` Mel Gorman
2015-03-10 13:08               ` Mel Gorman
2015-03-10 13:08               ` Mel Gorman
2015-03-08  9:41   ` Ingo Molnar
2015-03-08  9:41     ` Ingo Molnar
2015-03-08  9:41     ` Ingo Molnar
2015-03-08  9:41     ` Ingo Molnar

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=20150319232326.GM10105@dastard \
    --to=david@fromorbit.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=xfs@oss.sgi.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 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.