All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiang Liu <liuj97@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	David Rientjes <rientjes@google.com>
Cc: Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>, Mel Gorman <mgorman@suse.de>,
	Minchan Kim <minchan@kernel.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Michal Hocko <mhocko@suse.cz>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	David Howells <dhowells@redhat.com>,
	Mark Salter <msalter@redhat.com>,
	Jianguo Wu <wujianguo@huawei.com>,
	linux-mm@kvack.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Russell King <linux@arm.linux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3, part4 11/39] mm/ARM: prepare for removing num_physpages and simplify mem_init()
Date: Tue, 26 Mar 2013 23:54:30 +0800	[thread overview]
Message-ID: <1364313298-17336-12-git-send-email-jiang.liu@huawei.com> (raw)
In-Reply-To: <1364313298-17336-1-git-send-email-jiang.liu@huawei.com>

Prepare for removing num_physpages and simplify mem_init().

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
Hi all,
	Sorry for my mistake that my previous patch series has been screwed up.
So I regenerate a third version and also set up a git tree at:
	git://github.com/jiangliu/linux.git mem_init
	Any help to review and test are welcomed!

	Regards!
	Gerry
---
 arch/arm/mm/init.c |   47 ++---------------------------------------------
 1 file changed, 2 insertions(+), 45 deletions(-)

diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 5925861..8f69924 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -582,9 +582,6 @@ static void __init free_highpages(void)
  */
 void __init mem_init(void)
 {
-	unsigned long reserved_pages, free_pages;
-	struct memblock_region *reg;
-	int i;
 #ifdef CONFIG_HAVE_TCM
 	/* These pointers are filled in on TCM detection */
 	extern u32 dtcm_end;
@@ -604,47 +601,7 @@ void __init mem_init(void)
 
 	free_highpages();
 
-	reserved_pages = free_pages = 0;
-
-	for_each_bank(i, &meminfo) {
-		struct membank *bank = &meminfo.bank[i];
-		unsigned int pfn1, pfn2;
-		struct page *page, *end;
-
-		pfn1 = bank_pfn_start(bank);
-		pfn2 = bank_pfn_end(bank);
-
-		page = pfn_to_page(pfn1);
-		end  = pfn_to_page(pfn2 - 1) + 1;
-
-		do {
-			if (PageReserved(page))
-				reserved_pages++;
-			else if (!page_count(page))
-				free_pages++;
-			page++;
-		} while (page < end);
-	}
-
-	/*
-	 * Since our memory may not be contiguous, calculate the
-	 * real number of pages we have in this system
-	 */
-	printk(KERN_INFO "Memory:");
-	num_physpages = 0;
-	for_each_memblock(memory, reg) {
-		unsigned long pages = memblock_region_memory_end_pfn(reg) -
-			memblock_region_memory_base_pfn(reg);
-		num_physpages += pages;
-		printk(" %ldMB", pages >> (20 - PAGE_SHIFT));
-	}
-	printk(" = %luMB total\n", num_physpages >> (20 - PAGE_SHIFT));
-
-	printk(KERN_NOTICE "Memory: %luk/%luk available, %luk reserved, %luK highmem\n",
-		nr_free_pages() << (PAGE_SHIFT-10),
-		free_pages << (PAGE_SHIFT-10),
-		reserved_pages << (PAGE_SHIFT-10),
-		totalhigh_pages << (PAGE_SHIFT-10));
+	mem_init_print_info(NULL);
 
 #define MLK(b, t) b, t, ((t) - (b)) >> 10
 #define MLM(b, t) b, t, ((t) - (b)) >> 20
@@ -710,7 +667,7 @@ void __init mem_init(void)
 	BUG_ON(PKMAP_BASE + LAST_PKMAP * PAGE_SIZE	> PAGE_OFFSET);
 #endif
 
-	if (PAGE_SIZE >= 16384 && num_physpages <= 128) {
+	if (PAGE_SIZE >= 16384 && get_num_physpages() <= 128) {
 		extern int sysctl_overcommit_memory;
 		/*
 		 * On a machine this small we won't get
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <liuj97@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	David Rientjes <rientjes@google.com>
Cc: Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>, Mel Gorman <mgorman@suse.de>,
	Minchan Kim <minchan@kernel.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Michal Hocko <mhocko@suse.cz>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	David Howells <dhowells@redhat.com>,
	Mark Salter <msalter@redhat.com>,
	Jianguo Wu <wujianguo@huawei.com>,
	linux-mm@kvack.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Russell King <linux@arm.linux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3, part4 11/39] mm/ARM: prepare for removing num_physpages and simplify mem_init()
Date: Tue, 26 Mar 2013 23:54:30 +0800	[thread overview]
Message-ID: <1364313298-17336-12-git-send-email-jiang.liu@huawei.com> (raw)
In-Reply-To: <1364313298-17336-1-git-send-email-jiang.liu@huawei.com>

Prepare for removing num_physpages and simplify mem_init().

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
Hi all,
	Sorry for my mistake that my previous patch series has been screwed up.
So I regenerate a third version and also set up a git tree at:
	git://github.com/jiangliu/linux.git mem_init
	Any help to review and test are welcomed!

	Regards!
	Gerry
---
 arch/arm/mm/init.c |   47 ++---------------------------------------------
 1 file changed, 2 insertions(+), 45 deletions(-)

diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 5925861..8f69924 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -582,9 +582,6 @@ static void __init free_highpages(void)
  */
 void __init mem_init(void)
 {
-	unsigned long reserved_pages, free_pages;
-	struct memblock_region *reg;
-	int i;
 #ifdef CONFIG_HAVE_TCM
 	/* These pointers are filled in on TCM detection */
 	extern u32 dtcm_end;
@@ -604,47 +601,7 @@ void __init mem_init(void)
 
 	free_highpages();
 
-	reserved_pages = free_pages = 0;
-
-	for_each_bank(i, &meminfo) {
-		struct membank *bank = &meminfo.bank[i];
-		unsigned int pfn1, pfn2;
-		struct page *page, *end;
-
-		pfn1 = bank_pfn_start(bank);
-		pfn2 = bank_pfn_end(bank);
-
-		page = pfn_to_page(pfn1);
-		end  = pfn_to_page(pfn2 - 1) + 1;
-
-		do {
-			if (PageReserved(page))
-				reserved_pages++;
-			else if (!page_count(page))
-				free_pages++;
-			page++;
-		} while (page < end);
-	}
-
-	/*
-	 * Since our memory may not be contiguous, calculate the
-	 * real number of pages we have in this system
-	 */
-	printk(KERN_INFO "Memory:");
-	num_physpages = 0;
-	for_each_memblock(memory, reg) {
-		unsigned long pages = memblock_region_memory_end_pfn(reg) -
-			memblock_region_memory_base_pfn(reg);
-		num_physpages += pages;
-		printk(" %ldMB", pages >> (20 - PAGE_SHIFT));
-	}
-	printk(" = %luMB total\n", num_physpages >> (20 - PAGE_SHIFT));
-
-	printk(KERN_NOTICE "Memory: %luk/%luk available, %luk reserved, %luK highmem\n",
-		nr_free_pages() << (PAGE_SHIFT-10),
-		free_pages << (PAGE_SHIFT-10),
-		reserved_pages << (PAGE_SHIFT-10),
-		totalhigh_pages << (PAGE_SHIFT-10));
+	mem_init_print_info(NULL);
 
 #define MLK(b, t) b, t, ((t) - (b)) >> 10
 #define MLM(b, t) b, t, ((t) - (b)) >> 20
@@ -710,7 +667,7 @@ void __init mem_init(void)
 	BUG_ON(PKMAP_BASE + LAST_PKMAP * PAGE_SIZE	> PAGE_OFFSET);
 #endif
 
-	if (PAGE_SIZE >= 16384 && num_physpages <= 128) {
+	if (PAGE_SIZE >= 16384 && get_num_physpages() <= 128) {
 		extern int sysctl_overcommit_memory;
 		/*
 		 * On a machine this small we won't get
-- 
1.7.9.5

--
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: liuj97@gmail.com (Jiang Liu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3, part4 11/39] mm/ARM: prepare for removing num_physpages and simplify mem_init()
Date: Tue, 26 Mar 2013 23:54:30 +0800	[thread overview]
Message-ID: <1364313298-17336-12-git-send-email-jiang.liu@huawei.com> (raw)
In-Reply-To: <1364313298-17336-1-git-send-email-jiang.liu@huawei.com>

Prepare for removing num_physpages and simplify mem_init().

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
---
Hi all,
	Sorry for my mistake that my previous patch series has been screwed up.
So I regenerate a third version and also set up a git tree at:
	git://github.com/jiangliu/linux.git mem_init
	Any help to review and test are welcomed!

	Regards!
	Gerry
---
 arch/arm/mm/init.c |   47 ++---------------------------------------------
 1 file changed, 2 insertions(+), 45 deletions(-)

diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 5925861..8f69924 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -582,9 +582,6 @@ static void __init free_highpages(void)
  */
 void __init mem_init(void)
 {
-	unsigned long reserved_pages, free_pages;
-	struct memblock_region *reg;
-	int i;
 #ifdef CONFIG_HAVE_TCM
 	/* These pointers are filled in on TCM detection */
 	extern u32 dtcm_end;
@@ -604,47 +601,7 @@ void __init mem_init(void)
 
 	free_highpages();
 
-	reserved_pages = free_pages = 0;
-
-	for_each_bank(i, &meminfo) {
-		struct membank *bank = &meminfo.bank[i];
-		unsigned int pfn1, pfn2;
-		struct page *page, *end;
-
-		pfn1 = bank_pfn_start(bank);
-		pfn2 = bank_pfn_end(bank);
-
-		page = pfn_to_page(pfn1);
-		end  = pfn_to_page(pfn2 - 1) + 1;
-
-		do {
-			if (PageReserved(page))
-				reserved_pages++;
-			else if (!page_count(page))
-				free_pages++;
-			page++;
-		} while (page < end);
-	}
-
-	/*
-	 * Since our memory may not be contiguous, calculate the
-	 * real number of pages we have in this system
-	 */
-	printk(KERN_INFO "Memory:");
-	num_physpages = 0;
-	for_each_memblock(memory, reg) {
-		unsigned long pages = memblock_region_memory_end_pfn(reg) -
-			memblock_region_memory_base_pfn(reg);
-		num_physpages += pages;
-		printk(" %ldMB", pages >> (20 - PAGE_SHIFT));
-	}
-	printk(" = %luMB total\n", num_physpages >> (20 - PAGE_SHIFT));
-
-	printk(KERN_NOTICE "Memory: %luk/%luk available, %luk reserved, %luK highmem\n",
-		nr_free_pages() << (PAGE_SHIFT-10),
-		free_pages << (PAGE_SHIFT-10),
-		reserved_pages << (PAGE_SHIFT-10),
-		totalhigh_pages << (PAGE_SHIFT-10));
+	mem_init_print_info(NULL);
 
 #define MLK(b, t) b, t, ((t) - (b)) >> 10
 #define MLM(b, t) b, t, ((t) - (b)) >> 20
@@ -710,7 +667,7 @@ void __init mem_init(void)
 	BUG_ON(PKMAP_BASE + LAST_PKMAP * PAGE_SIZE	> PAGE_OFFSET);
 #endif
 
-	if (PAGE_SIZE >= 16384 && num_physpages <= 128) {
+	if (PAGE_SIZE >= 16384 && get_num_physpages() <= 128) {
 		extern int sysctl_overcommit_memory;
 		/*
 		 * On a machine this small we won't get
-- 
1.7.9.5

  parent reply	other threads:[~2013-03-26 15:58 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-26 15:54 [PATCH v3, part4 00/39] Simplify mem_init() implementations and kill num_physpages Jiang Liu
2013-03-26 15:54 ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 01/39] vmlinux.lds: add comments for global variables and clean up useless declarations Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 02/39] avr32: normalize global variables exported by vmlinux.lds Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 03/39] c6x: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 04/39] h8300: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 05/39] score: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 06/39] tile: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 07/39] UML: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 08/39] mm: introduce helper function mem_init_print_info() to simplify mem_init() Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 09/39] mm: use totalram_pages instead of num_physpages at runtime Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 10/39] mm/alpha: prepare for removing num_physpages and simplify mem_init() Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` Jiang Liu [this message]
2013-03-26 15:54   ` [PATCH v3, part4 11/39] mm/ARM: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 12/39] mm/ARM64: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 13/39] mm/AVR32: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 14/39] mm/blackfin: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 15/39] mm/c6x: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 16/39] mm/cris: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 17/39] mm/frv: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 18/39] mm/h8300: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 19/39] mm/hexagon: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 20/39] mm/IA64: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 21/39] mm/m32r: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 22/39] mm/m68k: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 23/39] mm/microblaze: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 24/39] mm/MIPS: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 25/39] mm/mn10300: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 26/39] mm/openrisc: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-04-02  5:31   ` Jonas Bonn
2013-04-02  5:31     ` Jonas Bonn
2013-04-02  5:31     ` Jonas Bonn
2013-04-02  5:31     ` Jonas Bonn
2013-04-02 14:38     ` Jiang Liu
2013-04-02 14:38       ` Jiang Liu
2013-04-02 14:38       ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 27/39] mm/PARISC: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 28/39] mm/ppc: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 29/39] mm/s390: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 30/39] mm/score: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 31/39] mm/SH: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 32/39] mm/SPARC: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-29 16:17   ` Sam Ravnborg
2013-03-29 16:17     ` Sam Ravnborg
2013-03-29 16:17     ` Sam Ravnborg
2013-03-26 15:54 ` [PATCH v3, part4 33/39] mm/tile: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 34/39] mm/um: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 35/39] mm/unicore32: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 36/39] mm/x86: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 37/39] mm/xtensa: " Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 38/39] mm/hotplug: prepare for removing num_physpages Jiang Liu
2013-03-26 15:54   ` Jiang Liu
2013-03-29 11:18   ` Sam Ravnborg
2013-03-29 11:18     ` Sam Ravnborg
2013-03-29 15:36     ` Jiang Liu
2013-03-29 15:36       ` Jiang Liu
2013-03-29 16:17       ` Sam Ravnborg
2013-03-29 16:17         ` Sam Ravnborg
2013-03-29 16:30         ` Jiang Liu
2013-03-29 16:30           ` Jiang Liu
2013-03-29 16:40           ` Sam Ravnborg
2013-03-29 16:40             ` Sam Ravnborg
2013-03-29 16:42             ` Jiang Liu
2013-03-29 16:42               ` Jiang Liu
2013-03-26 15:54 ` [PATCH v3, part4 39/39] mm: kill global variable num_physpages Jiang Liu
2013-03-26 15:54   ` Jiang Liu

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=1364313298-17336-12-git-send-email-jiang.liu@huawei.com \
    --to=liuj97@gmail.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=dhowells@redhat.com \
    --cc=jiang.liu@huawei.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.cz \
    --cc=minchan@kernel.org \
    --cc=msalter@redhat.com \
    --cc=rientjes@google.com \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=wency@cn.fujitsu.com \
    --cc=will.deacon@arm.com \
    --cc=wujianguo@huawei.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.