From: "Dave Airlie" <airlied@gmail.com>
To: "Andi Kleen" <andi@firstfloor.org>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
"Jiri Slaby" <jirislaby@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: X-freeze after clflush changes [Was: 2.6.23-rc6-mm1]
Date: Thu, 20 Sep 2007 11:42:29 +1000 [thread overview]
Message-ID: <21d7e9970709191842h3111390cl8f09745bed6bd8f9@mail.gmail.com> (raw)
In-Reply-To: <20070919192453.GB18707@one.firstfloor.org>
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
> The code is broken anyways. If you free pages without flushing
> them first some other innocent user allocating them will end up
> with possible uncached pages for some time.
>
> Does this simple patch help?
>
I've attached a more complicated patch that does a 2 stage effort to
unmapping and freeing pages. My kernel no longer hangs with this
patch...
Jiri can you confirm?
I'll look at the other issue separately..
Dave.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-agp-fix-race-condition-between-unmapping-and-freein.patch --]
[-- Type: text/x-patch; name="0001-agp-fix-race-condition-between-unmapping-and-freein.patch", Size: 7796 bytes --]
From 225696d75e7ec0bafbb47b935bd700e3fbeefbde Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Thu, 20 Sep 2007 11:30:41 +1000
Subject: [PATCH] agp: fix race condition between unmapping and freeing pages
With Andi's clflush fixup, we were getting hangs on server exit, flushing
the mappings after freeing each page helped.
This showed up a race condition where the pages after being freed could be
reused before the agp mappings had been flushed. Flushing after each single
page is a bad thing for future drm work, so make the page destroy a two pass
unmapping all the pages, flushing the mappings, and then destroying the pages.
Signed-off-by: Dave Airlie <airlied@linux.ie>
---
drivers/char/agp/agp.h | 7 +++++--
drivers/char/agp/ali-agp.c | 29 +++++++++++++++++------------
drivers/char/agp/backend.c | 12 ++++++++----
drivers/char/agp/generic.c | 20 ++++++++++++++------
drivers/char/agp/i460-agp.c | 4 ++--
drivers/char/agp/intel-agp.c | 6 ++++--
6 files changed, 50 insertions(+), 28 deletions(-)
diff --git a/drivers/char/agp/agp.h b/drivers/char/agp/agp.h
index 8955e7f..b83824c 100644
--- a/drivers/char/agp/agp.h
+++ b/drivers/char/agp/agp.h
@@ -58,6 +58,9 @@ struct gatt_mask {
* devices this will probably be ignored */
};
+#define AGP_PAGE_DESTROY_UNMAP 1
+#define AGP_PAGE_DESTROY_FREE 2
+
struct aper_size_info_8 {
int size;
int num_entries;
@@ -113,7 +116,7 @@ struct agp_bridge_driver {
struct agp_memory *(*alloc_by_type) (size_t, int);
void (*free_by_type)(struct agp_memory *);
void *(*agp_alloc_page)(struct agp_bridge_data *);
- void (*agp_destroy_page)(void *);
+ void (*agp_destroy_page)(void *, int flags);
int (*agp_type_to_mask_type) (struct agp_bridge_data *, int);
};
@@ -267,7 +270,7 @@ int agp_generic_remove_memory(struct agp_memory *mem, off_t pg_start, int type);
struct agp_memory *agp_generic_alloc_by_type(size_t page_count, int type);
void agp_generic_free_by_type(struct agp_memory *curr);
void *agp_generic_alloc_page(struct agp_bridge_data *bridge);
-void agp_generic_destroy_page(void *addr);
+void agp_generic_destroy_page(void *addr, int flags);
void agp_free_key(int key);
int agp_num_entries(void);
u32 agp_collect_device_status(struct agp_bridge_data *bridge, u32 mode, u32 command);
diff --git a/drivers/char/agp/ali-agp.c b/drivers/char/agp/ali-agp.c
index 4941ddb..2b65155 100644
--- a/drivers/char/agp/ali-agp.c
+++ b/drivers/char/agp/ali-agp.c
@@ -156,29 +156,34 @@ static void *m1541_alloc_page(struct agp_bridge_data *bridge)
return addr;
}
-static void ali_destroy_page(void * addr)
+static void ali_destroy_page(void * addr, int flags)
{
if (addr) {
- global_cache_flush(); /* is this really needed? --hch */
- agp_generic_destroy_page(addr);
- global_flush_tlb();
+ if (flags & AGP_PAGE_DESTROY_UNMAP) {
+ global_cache_flush(); /* is this really needed? --hch */
+ agp_generic_destroy_page(addr, flags);
+ global_flush_tlb();
+ } else
+ agp_generic_destroy_page(addr, flags);
}
}
-static void m1541_destroy_page(void * addr)
+static void m1541_destroy_page(void * addr, int flags)
{
u32 temp;
if (addr == NULL)
return;
- global_cache_flush();
-
- pci_read_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL, &temp);
- pci_write_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL,
- (((temp & ALI_CACHE_FLUSH_ADDR_MASK) |
- virt_to_gart(addr)) | ALI_CACHE_FLUSH_EN));
- agp_generic_destroy_page(addr);
+ if (flags & AGP_PAGE_DESTROY_UNMAP) {
+ global_cache_flush();
+
+ pci_read_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL, &temp);
+ pci_write_config_dword(agp_bridge->dev, ALI_CACHE_FLUSH_CTRL,
+ (((temp & ALI_CACHE_FLUSH_ADDR_MASK) |
+ virt_to_gart(addr)) | ALI_CACHE_FLUSH_EN));
+ }
+ agp_generic_destroy_page(addr, flags);
}
diff --git a/drivers/char/agp/backend.c b/drivers/char/agp/backend.c
index 1b47c89..832ded2 100644
--- a/drivers/char/agp/backend.c
+++ b/drivers/char/agp/backend.c
@@ -189,9 +189,11 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge)
err_out:
if (bridge->driver->needs_scratch_page) {
- bridge->driver->agp_destroy_page(
- gart_to_virt(bridge->scratch_page_real));
+ bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+ AGP_PAGE_DESTROY_UNMAP);
flush_agp_mappings();
+ bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+ AGP_PAGE_DESTROY_FREE);
}
if (got_gatt)
bridge->driver->free_gatt_table(bridge);
@@ -215,9 +217,11 @@ static void agp_backend_cleanup(struct agp_bridge_data *bridge)
if (bridge->driver->agp_destroy_page &&
bridge->driver->needs_scratch_page) {
- bridge->driver->agp_destroy_page(
- gart_to_virt(bridge->scratch_page_real));
+ bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+ AGP_PAGE_DESTROY_UNMAP);
flush_agp_mappings();
+ bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+ AGP_PAGE_DESTROY_FREE);
}
}
diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
index 3db4f40..1cdbed9 100644
--- a/drivers/char/agp/generic.c
+++ b/drivers/char/agp/generic.c
@@ -195,9 +195,12 @@ void agp_free_memory(struct agp_memory *curr)
}
if (curr->page_count != 0) {
for (i = 0; i < curr->page_count; i++) {
- curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]));
+ curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]), AGP_PAGE_DESTROY_UNMAP);
}
flush_agp_mappings();
+ for (i = 0; i < curr->page_count; i++) {
+ curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]), AGP_PAGE_DESTROY_FREE);
+ }
}
agp_free_key(curr->key);
agp_free_page_array(curr);
@@ -1176,7 +1179,7 @@ void *agp_generic_alloc_page(struct agp_bridge_data *bridge)
EXPORT_SYMBOL(agp_generic_alloc_page);
-void agp_generic_destroy_page(void *addr)
+void agp_generic_destroy_page(void *addr, int flags)
{
struct page *page;
@@ -1184,10 +1187,15 @@ void agp_generic_destroy_page(void *addr)
return;
page = virt_to_page(addr);
- unmap_page_from_agp(page);
- put_page(page);
- free_page((unsigned long)addr);
- atomic_dec(&agp_bridge->current_memory_agp);
+ if (flags & AGP_PAGE_DESTROY_UNMAP) {
+ unmap_page_from_agp(page);
+ }
+
+ if (flags & AGP_PAGE_DESTROY_FREE) {
+ put_page(page);
+ free_page((unsigned long)addr);
+ atomic_dec(&agp_bridge->current_memory_agp);
+ }
}
EXPORT_SYMBOL(agp_generic_destroy_page);
diff --git a/drivers/char/agp/i460-agp.c b/drivers/char/agp/i460-agp.c
index 75d2aca..70117df 100644
--- a/drivers/char/agp/i460-agp.c
+++ b/drivers/char/agp/i460-agp.c
@@ -536,10 +536,10 @@ static void *i460_alloc_page (struct agp_bridge_data *bridge)
return page;
}
-static void i460_destroy_page (void *page)
+static void i460_destroy_page (void *page, int flags)
{
if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) {
- agp_generic_destroy_page(page);
+ agp_generic_destroy_page(page, flags);
global_flush_tlb();
}
}
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index a5d0e95..c0c10ea 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -400,9 +400,11 @@ static void intel_i810_free_by_type(struct agp_memory *curr)
if (curr->page_count == 4)
i8xx_destroy_pages(gart_to_virt(curr->memory[0]));
else {
- agp_bridge->driver->agp_destroy_page(
- gart_to_virt(curr->memory[0]));
+ agp_bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[0]),
+ AGP_PAGE_DESTROY_UNMAP);
global_flush_tlb();
+ agp_bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[0]),
+ AGP_PAGE_DESTROY_FREE);
}
agp_free_page_array(curr);
}
--
1.5.2.4
next prev parent reply other threads:[~2007-09-20 1:42 UTC|newest]
Thread overview: 227+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-18 8:18 2.6.23-rc6-mm1 Andrew Morton
2007-09-18 8:24 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-18 9:13 ` 2.6.23-rc6-mm1 Kamalesh Babulal
2007-09-18 9:27 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-18 9:34 ` 2.6.23-rc6-mm1 Satyam Sharma
2007-09-18 19:17 ` 2.6.23-rc6-mm1 Greg KH
2007-09-22 9:21 ` 2.6.23-rc6-mm1 Satyam Sharma
2007-09-25 5:35 ` 2.6.23-rc6-mm1 Greg KH
2007-09-18 9:34 ` 2.6.23-rc6-mm1 Andy Whitcroft
2007-09-18 10:02 ` 2.6.23-rc6-mm1 Benjamin Herrenschmidt
2007-09-18 12:07 ` 2.6.23-rc6-mm1 Kamalesh Babulal
2007-09-18 16:53 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-18 19:16 ` 2.6.23-rc6-mm1 Greg KH
2007-09-18 21:35 ` 2.6.23-rc6-mm1 Benjamin Herrenschmidt
2007-09-18 15:07 ` 2.6.23-rc6-mm1 Valdis.Kletnieks
2007-09-18 15:50 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-18 15:27 ` 2.6.23-rc6-mm1 Miles Lane
2007-09-18 15:39 ` 2.6.23-rc6-mm1 Miles Lane
2007-09-18 15:52 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-18 19:17 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-18 19:42 ` 2.6.23-rc6-mm1 Miles Lane
2007-09-18 20:26 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-18 22:38 ` 2.6.23-rc6-mm1 Gabriel C
2007-09-18 22:48 ` 2.6.23-rc6-mm1 Gabriel C
2007-09-19 19:33 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-19 20:36 ` 2.6.23-rc6-mm1 Gabriel C
2007-09-19 20:43 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-19 18:48 ` 2.6.23-rc6-mm1 Sam Ravnborg
2007-09-18 15:43 ` modpost errors ( Re: 2.6.23-rc6-mm1) Gabriel C
2007-09-18 15:56 ` Sam Ravnborg
2007-09-18 16:37 ` [v4l-dvb-maintainer] " mkrufky
2007-09-18 22:06 ` Mauro Carvalho Chehab
2007-09-18 16:20 ` 2.6.23-rc6-mm1: Build failure on ppc64 drivers/net/ehea/ehea_main.c Mel Gorman
2007-09-18 16:41 ` Mel Gorman
2007-09-18 19:08 ` David Miller
2007-09-18 17:18 ` 2.6.23-rc6-mm1 (watchdog) Randy Dunlap
2007-09-18 17:41 ` Randy Dunlap
2007-09-18 17:20 ` 2.6.23-rc6-mm1 Miles Lane
2007-09-18 18:05 ` 2.6.23-rc6-mm1 Mel Gorman
2007-09-18 17:44 ` 2.6.23-rc6-mm1 Mel Gorman
2007-09-19 16:29 ` 2.6.23-rc6-mm1: kgdb support on ppc64 utterly broken Mel Gorman
2007-09-22 8:41 ` 2.6.23-rc6-mm1 Satyam Sharma
2007-09-24 11:14 ` 2.6.23-rc6-mm1 Mel Gorman
2007-09-18 19:32 ` 2.6.23-rc6-mm1 - Mostly working, with a kbuild oddity Valdis.Kletnieks
2007-09-18 20:32 ` Sam Ravnborg
2007-09-18 22:03 ` Valdis.Kletnieks
2007-09-19 7:34 ` Sam Ravnborg
2007-09-19 15:53 ` Valdis.Kletnieks
2007-09-19 17:39 ` Sam Ravnborg
2007-09-18 20:21 ` 2.6.23-rc6-mm1: failure to boot on HP nx6325 Rafael J. Wysocki
2007-09-18 20:54 ` Rafael J. Wysocki
2007-09-18 21:37 ` 2.6.23-rc6-mm1: failure to boot on HP nx6325, no sound when booted, USB-related WARNING Rafael J. Wysocki
2007-09-19 7:06 ` Thomas Gleixner
2007-09-19 17:44 ` Rafael J. Wysocki
2007-09-19 19:21 ` Thomas Gleixner
2007-09-20 0:06 ` Rafael J. Wysocki
2007-09-20 6:18 ` Thomas Gleixner
2007-09-20 13:29 ` Rafael J. Wysocki
2007-09-20 13:43 ` Thomas Gleixner
2007-09-20 14:12 ` Rafael J. Wysocki
2007-09-20 13:53 ` Thomas Gleixner
2007-09-20 14:47 ` Rafael J. Wysocki
2007-09-20 14:50 ` Thomas Gleixner
2007-09-20 15:49 ` Thomas Gleixner
2007-09-20 20:39 ` Rafael J. Wysocki
2007-09-20 21:08 ` Thomas Gleixner
2007-09-20 21:35 ` Linus Torvalds
2007-09-20 21:54 ` Rafael J. Wysocki
2007-09-20 22:01 ` Thomas Gleixner
2007-09-20 21:55 ` Linus Torvalds
2007-09-20 22:05 ` Thomas Gleixner
2007-09-20 22:30 ` Rafael J. Wysocki
2007-09-21 12:59 ` Thomas Gleixner
2007-09-21 14:20 ` Rafael J. Wysocki
2007-09-21 16:27 ` Thomas Gleixner
2007-09-21 19:20 ` Rafael J. Wysocki
2007-09-21 19:16 ` Thomas Gleixner
2007-09-21 19:37 ` Rafael J. Wysocki
2007-09-20 23:35 ` Len Brown
2007-09-21 7:56 ` Thomas Gleixner
2007-09-21 9:25 ` Rafael J. Wysocki
2007-09-21 4:51 ` Paul Mackerras
2007-09-21 8:06 ` Thomas Gleixner
2007-10-11 21:19 ` Pavel Machek
2007-09-20 21:45 ` Rafael J. Wysocki
2007-09-20 21:53 ` Thomas Gleixner
2007-09-20 22:35 ` Rafael J. Wysocki
2007-09-21 9:24 ` Rafael J. Wysocki
2007-09-20 20:42 ` Rafael J. Wysocki
2007-09-18 20:54 ` 2.6.23-rc6-mm1 sparc build error Mathieu Desnoyers
2007-09-18 21:05 ` Andrew Morton
2007-09-20 12:53 ` Guennadi Liakhovetski
2007-09-21 13:51 ` Mathieu Desnoyers
2007-09-18 21:45 ` 2.6.23-rc6-mm1: atomic counter underflow Mariusz Kozlowski
2007-09-19 8:27 ` Cornelia Huck
2007-09-19 16:43 ` Mariusz Kozlowski
2007-09-19 18:02 ` Cornelia Huck
2007-09-20 7:42 ` kobject: Temporarily save k_name on cleanup for debug message Cornelia Huck
2007-09-20 7:43 ` Cornelia Huck
2007-09-20 17:26 ` Mariusz Kozlowski
2007-09-20 13:35 ` 2.6.23-rc6-mm1: atomic counter underflow Cornelia Huck
2007-09-20 16:30 ` Pierre Ossman
2007-09-20 17:27 ` Mariusz Kozlowski
2007-09-19 9:28 ` 2.6.23-rc6-mm1 -- powerpc link failure Andy Whitcroft
2007-09-19 16:36 ` Segher Boessenkool
2007-09-19 16:52 ` Andy Whitcroft
2007-09-19 17:44 ` Sam Ravnborg
2007-09-25 13:40 ` Andy Whitcroft
2007-09-19 9:36 ` 2.6.23-rc6-mm1 -- powerpc pSeries_log_error panic in rtas_call/early_enable_eeh Andy Whitcroft
2007-09-19 11:43 ` X-freeze after clflush changes [Was: 2.6.23-rc6-mm1] Jiri Slaby
2007-09-19 11:53 ` Jiri Slaby
2007-09-19 14:59 ` Jiri Slaby
2007-09-19 19:10 ` Andrew Morton
2007-09-19 19:24 ` Andi Kleen
2007-09-19 19:46 ` Jiri Slaby
2007-09-19 19:54 ` Andi Kleen
2007-09-19 19:57 ` Jiri Slaby
2007-09-19 20:01 ` Jiri Slaby
2007-09-19 21:42 ` Andrew Morton
2007-09-19 20:32 ` Valdis.Kletnieks
2007-09-19 20:47 ` Jiri Slaby
2007-09-20 13:17 ` Valdis.Kletnieks
2007-09-20 22:24 ` Dave Airlie
2007-09-20 1:51 ` Dave Airlie
2007-09-20 7:24 ` Jiri Slaby
2007-09-20 7:33 ` Dave Airlie
2007-09-20 9:24 ` Zhenyu Wang
2007-09-20 22:10 ` Jiri Slaby
2007-09-21 1:27 ` Zhenyu Wang
2007-09-20 0:18 ` Dave Airlie
2007-09-20 1:42 ` Dave Airlie [this message]
2007-09-20 2:24 ` Andrew Morton
2007-09-20 7:19 ` Jiri Slaby
2007-09-20 22:06 ` Matt Mackall
2007-09-20 23:03 ` Andi Kleen
2007-09-20 23:31 ` Matt Mackall
2007-09-20 23:44 ` Andi Kleen
2007-09-21 17:18 ` Valdis.Kletnieks
2007-09-21 7:07 ` Jiri Slaby
2007-09-21 17:16 ` Valdis.Kletnieks
2007-09-21 17:30 ` Jiri Slaby
2007-09-21 17:54 ` Valdis.Kletnieks
2007-09-21 19:33 ` Valdis.Kletnieks
2007-09-21 19:38 ` Jiri Slaby
2007-09-21 19:43 ` Jiri Slaby
2007-09-24 3:25 ` Valdis.Kletnieks
2007-09-24 6:06 ` Jiri Slaby
2007-09-24 7:37 ` Valdis.Kletnieks
2007-09-24 8:10 ` Jiri Slaby
2007-09-19 16:43 ` 2.6.23-rc6-mm1 -- mkfs stuck in 'D' Andy Whitcroft
2007-09-19 20:03 ` Hugh Dickins
2007-09-19 20:44 ` Peter Zijlstra
2007-09-20 11:31 ` Hugh Dickins
2007-09-20 12:15 ` Peter Zijlstra
[not found] ` <20070922015509.GA5332@mail.ustc.edu.cn>
2007-09-22 1:55 ` Fengguang Wu
2007-09-22 13:16 ` Peter Zijlstra
[not found] ` <20070923012049.GA6010@mail.ustc.edu.cn>
2007-09-23 1:20 ` Fengguang Wu
2007-09-23 13:02 ` Peter Zijlstra
[not found] ` <20070924030109.GA5892@mail.ustc.edu.cn>
2007-09-24 3:01 ` Fengguang Wu
2007-09-24 7:35 ` Peter Zijlstra
[not found] ` <20070924081207.GA2266@mail.ustc.edu.cn>
2007-09-24 8:12 ` Fengguang Wu
2007-09-23 14:19 ` 2.6.23-rc6-mm1 -- ipg.c don't compile on i386 with CONFIG_HIGHMEM64G trem
2007-09-19 23:02 ` 2.6.23-rc6-mm1 Tilman Schmidt
2007-09-19 23:24 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-19 23:28 ` 2.6.23-rc6-mm1 Chuck Ebbert
2007-09-19 23:55 ` 2.6.23-rc6-mm1 Tilman Schmidt
2007-09-20 19:10 ` 2.6.23-rc6-mm1 Tilman Schmidt
2007-09-19 23:44 ` 2.6.23-rc6-mm1 David Brownell
2007-09-20 0:06 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-20 4:43 ` 2.6.23-rc6-mm1 David Brownell
2007-09-20 6:11 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-20 7:54 ` 2.6.23-rc6-mm1 Kay Sievers
2007-09-20 16:15 ` 2.6.23-rc6-mm1 David Brownell
2007-09-20 8:51 ` 2.6.23-rc6-mm1 Alessandro Zummo
2007-09-20 17:36 ` 2.6.23-rc6-mm1 David Brownell
2007-09-20 19:20 ` 2.6.23-rc6-mm1 Tilman Schmidt
2007-09-20 20:25 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-21 0:53 ` 2.6.23-rc6-mm1 Tilman Schmidt
2007-09-19 23:58 ` 2.6.23-rc6-mm1 Joseph Fannin
2007-09-20 0:09 ` 2.6.23-rc6-mm1 Andrew Morton
[not found] ` <f86d6cc00709200721h6e8f7cf8xa2264e9d1f88883b@mail.gmail.com>
[not found] ` <f86d6cc00709200912j37a3218boa882a044c0610779@mail.gmail.com>
2007-09-20 19:44 ` 2.6.23-rc6-mm1 Andrew Morton
2007-09-21 2:04 ` 2.6.23-rc6-mm1 Joseph Fannin
2007-09-21 2:04 ` [PATCH] make mv643xx_eth.c build again Joseph Fannin
2007-09-20 8:41 ` 2.6.23-rc6-mm1 - make access to tasks nsproxy ligther (fix) Cedric Le Goater
2007-09-20 8:59 ` Pavel Emelyanov
2007-09-20 9:12 ` Cedric Le Goater
2007-09-20 17:08 ` Cedric Le Goater
2007-09-24 4:00 ` Serge E. Hallyn
2007-09-20 13:13 ` 2.6.23-rc6-mm1: Build failure on ppc64 drivers/ata/pata_scc.c Mel Gorman
2007-09-20 14:09 ` Alan Cox
2007-09-20 15:14 ` Mel Gorman
2007-09-20 15:45 ` Kamalesh Babulal
2007-09-22 2:50 ` Satyam Sharma
2007-09-24 11:01 ` Mel Gorman
2007-09-26 3:39 ` Jeff Garzik
2007-09-20 13:25 ` Build failure on ppc64 drivers/block/ps3disk.c Mel Gorman
2007-09-20 13:32 ` Jens Axboe
2007-09-20 13:37 ` 2.6.23-rc6-mm1: Build failures on ppc64_defconfig Satyam Sharma
2007-09-22 6:50 ` Satyam Sharma
2007-09-22 6:51 ` Satyam Sharma
2007-09-22 6:54 ` Satyam Sharma
2007-09-24 11:12 ` Mel Gorman
2007-09-22 7:25 ` Satyam Sharma
2007-09-22 7:40 ` [PATCH -mm] pasemi_mac: Build fix after recent netdev stats changes Satyam Sharma
2007-09-21 2:05 ` [PATCH] Remove broken netfilter binary sysctls from bridging code Joseph Fannin
2007-09-21 4:21 ` Eric W. Biederman
2007-09-24 16:55 ` Patrick McHardy
2007-09-24 20:14 ` Stephen Hemminger
2007-09-25 4:07 ` Patrick McHardy
2007-09-25 16:12 ` Stephen Hemminger
2007-09-25 16:22 ` Patrick McHardy
2007-09-25 14:03 ` Eric W. Biederman
2007-09-25 14:26 ` Patrick McHardy
2007-09-25 16:38 ` Eric W. Biederman
2007-09-22 7:54 ` [PATCH -mm] mv643xx_eth: Remove redundant multiple initialization Satyam Sharma
2007-09-22 7:55 ` [PATCH -mm] iseries_veth: Kill unused variable Satyam Sharma
[not found] ` <20070923014214.GA16766@mail.ustc.edu.cn>
2007-09-23 1:42 ` [BUG 2.6.23-rc6-mm1] NMI Watchdog detected LOCKUP on CPU 0 Fengguang Wu
2007-09-23 4:22 ` Andrew Morton
[not found] ` <20070923053040.GA5820@mail.ustc.edu.cn>
2007-09-23 5:30 ` Fengguang Wu
2007-09-23 5:35 ` Andrew Morton
[not found] ` <20070923055303.GA14899@mail.ustc.edu.cn>
2007-09-23 5:53 ` Fengguang Wu
[not found] ` <20070923015217.GA5956@mail.ustc.edu.cn>
2007-09-23 1:52 ` Fengguang Wu
2007-09-23 3:01 ` [-mm Patch] net/bluetooth/hidp/core.c: Make hidp_setup_input() return int WANG Cong
2007-09-23 22:13 ` roel
2007-09-24 2:38 ` WANG Cong
2007-09-24 2:50 ` [Resend][-mm " WANG Cong
2007-09-24 7:09 ` [-mm " Marcel Holtmann
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=21d7e9970709191842h3111390cl8f09745bed6bd8f9@mail.gmail.com \
--to=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).