* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
@ 2003-01-28 18:01 jasonp
0 siblings, 0 replies; 13+ messages in thread
From: jasonp @ 2003-01-28 18:01 UTC (permalink / raw)
To: linux-mm, linux-kernel
>
> set_num_colors() needs to go downstairs under arch/ Some of the
> current->pid checks look a bit odd esp. for GFP_ATOMIC and/or
> in_interrupt() cases. I'm not sure why this is a config option; it
> should be mandatory. I also wonder about the interaction of this with
> the per-cpu lists. This may really want to be something like a matrix
> with (cpu, color) indices to find the right list; trouble is, there's a
> high potential for many pages to be trapped there. mapnr's (page -
> zone->zone_mem_map etc.) are being used for pfn's; this may raise
> issues if zones' required alignments aren't num_colors*PAGE_SIZE or
> larger. proc_misc.c can be used instead of page_color_init(). ->free_list
> can be removed. get_rand() needs locking, per-zone state. Useful stuff.
The current->pid tests date back to the 2.2 kernel patch, to get around
a bug where reusing an old task_struct didn't reinitialize the counter.
I'd much rather initialize the counter properly when a process starts, but
am not smart enough to track down all the places in the kernel where it
happens (kernel/fork.c only seems to account for half the pids on my system,
whereas in 2.4 virtually every process went through fork.c)
I originally had a much better RNG in place of the present one, but
at least one person didn't like explicit long-long calculations. Rather
than locking, what about the (admittedly much slower) nondeterministic RNG
interface? Also, the new __rmqueue is probably sufficiently slower than
the original (especially when accounting for non-power-of-two cache sizes)
that the latency for random numbers may not matter much.
Not sure how to handle pfn's properly in light of your observation, though.
What do you suggest? Likewise, I'll have to look at this per-cpu thing, older
patches didn't need to care about it.
Thanks to everyone for their feedback; I'll keep at it.
jasonp
---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
@ 2003-01-28 17:49 jasonp
0 siblings, 0 replies; 13+ messages in thread
From: jasonp @ 2003-01-28 17:49 UTC (permalink / raw)
To: linux-mm, linux-kernel
> If a benefit cannot be show on some sort of semi-realistic workload,
> it's probably not worth it, IMHO.
With the present state of the patch my own limited tests don't uncover any
speedups at all on my x86 test machine. For the Alpha with 2MB cache (and the
2.4 patch) there are measurable speedups; number-crunching benchmarks show it
the most.
jasonp
---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <3.0.6.32.20030127224726.00806c20@boo.net.suse.lists.linux.kernel>]
* [PATCH] page coloring for 2.5.59 kernel, version 1
@ 2003-01-28 3:47 Jason Papadopoulos
2003-01-28 3:57 ` William Lee Irwin III
2003-01-28 6:58 ` Martin J. Bligh
0 siblings, 2 replies; 13+ messages in thread
From: Jason Papadopoulos @ 2003-01-28 3:47 UTC (permalink / raw)
To: linux-mm, linux-kernel
This is yet another holding action, a port of my page coloring patch
to the 2.5 kernel. This is a minimal port (x86 only) intended to get
some testing done; once again the algorithm used is the same as in
previous patches. There are several cleanups and removed 2.4-isms that
make the code somewhat more compact, though.
I'll be experimenting with other coloring schemes later this week.
www.boo.net/~jasonp/page_color-2.5.59-20030127.patch
Feedback of any sort welcome.
jasonp
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
2003-01-28 3:47 Jason Papadopoulos
@ 2003-01-28 3:57 ` William Lee Irwin III
2003-01-28 4:11 ` William Lee Irwin III
2003-01-28 6:58 ` Martin J. Bligh
1 sibling, 1 reply; 13+ messages in thread
From: William Lee Irwin III @ 2003-01-28 3:57 UTC (permalink / raw)
To: Jason Papadopoulos; +Cc: linux-mm, linux-kernel
On Mon, Jan 27, 2003 at 10:47:26PM -0500, Jason Papadopoulos wrote:
> This is yet another holding action, a port of my page coloring patch
> to the 2.5 kernel. This is a minimal port (x86 only) intended to get
> some testing done; once again the algorithm used is the same as in
> previous patches. There are several cleanups and removed 2.4-isms that
> make the code somewhat more compact, though.
> I'll be experimenting with other coloring schemes later this week.
> www.boo.net/~jasonp/page_color-2.5.59-20030127.patch
> Feedback of any sort welcome.
set_num_colors() needs to go downstairs under arch/ Some of the
current->pid checks look a bit odd esp. for GFP_ATOMIC and/or
in_interrupt() cases. I'm not sure why this is a config option; it
should be mandatory. I also wonder about the interaction of this with
the per-cpu lists. This may really want to be something like a matrix
with (cpu, color) indices to find the right list; trouble is, there's a
high potential for many pages to be trapped there. mapnr's (page -
zone->zone_mem_map etc.) are being used for pfn's; this may raise
issues if zones' required alignments aren't num_colors*PAGE_SIZE or
larger. proc_misc.c can be used instead of page_color_init(). ->free_list
can be removed. get_rand() needs locking, per-zone state. Useful stuff.
--wli
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
2003-01-28 3:57 ` William Lee Irwin III
@ 2003-01-28 4:11 ` William Lee Irwin III
0 siblings, 0 replies; 13+ messages in thread
From: William Lee Irwin III @ 2003-01-28 4:11 UTC (permalink / raw)
To: Jason Papadopoulos, linux-mm, linux-kernel
On Mon, Jan 27, 2003 at 07:57:36PM -0800, William Lee Irwin III wrote:
> set_num_colors() needs to go downstairs under arch/ Some of the
> current->pid checks look a bit odd esp. for GFP_ATOMIC and/or
> in_interrupt() cases. I'm not sure why this is a config option; it
> should be mandatory. I also wonder about the interaction of this with
> the per-cpu lists. This may really want to be something like a matrix
> with (cpu, color) indices to find the right list; trouble is, there's a
> high potential for many pages to be trapped there. mapnr's (page -
> zone->zone_mem_map etc.) are being used for pfn's; this may raise
> issues if zones' required alignments aren't num_colors*PAGE_SIZE or
> larger. proc_misc.c can be used instead of page_color_init(). ->free_list
> can be removed. get_rand() needs locking, per-zone state. Useful stuff.
Hmm, actually the mapnr's as physical pfn's are broken with
MAP_NR_DENSE(), though existing boxen probably luck out. The RNG uses
an integer multiply which may be slow on various cpus, and I wouldn't
mind either a stronger or better documented RNG algorithm. ->color_init
is basically a bitflag, and ->target_color has a very limited range.
sizeof(task_t) needs to be small, could you fold that stuff into
->flags or ->thread_info?
-- wli
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
2003-01-28 3:47 Jason Papadopoulos
2003-01-28 3:57 ` William Lee Irwin III
@ 2003-01-28 6:58 ` Martin J. Bligh
2003-01-28 7:13 ` William Lee Irwin III
1 sibling, 1 reply; 13+ messages in thread
From: Martin J. Bligh @ 2003-01-28 6:58 UTC (permalink / raw)
To: Jason Papadopoulos, linux-mm, linux-kernel
> This is yet another holding action, a port of my page coloring patch
> to the 2.5 kernel. This is a minimal port (x86 only) intended to get
> some testing done; once again the algorithm used is the same as in
> previous patches. There are several cleanups and removed 2.4-isms that
> make the code somewhat more compact, though.
>
> I'll be experimenting with other coloring schemes later this week.
>
> www.boo.net/~jasonp/page_color-2.5.59-20030127.patch
>
> Feedback of any sort welcome.
I took a 16-way NUMA-Q (700MHz P3 Xeon's w/2MB L2 cache) and ran some
cpu-intensive benchmarks (kernel compile on warm cache with -j32 and
-j 256, SDET 1 - 128 users, and numaschedbench with 1 to 64 processes,
which is a memory thrasher to test node affinity of memory operations),
and compared to virgin 2.5.59 - no measurable difference on any test.
Sorry,
M.
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
2003-01-28 6:58 ` Martin J. Bligh
@ 2003-01-28 7:13 ` William Lee Irwin III
2003-01-28 16:06 ` Martin J. Bligh
0 siblings, 1 reply; 13+ messages in thread
From: William Lee Irwin III @ 2003-01-28 7:13 UTC (permalink / raw)
To: Martin J. Bligh; +Cc: Jason Papadopoulos, linux-mm, linux-kernel
At some point in the past, Jason P. wrote:
>> This is yet another holding action, a port of my page coloring patch
>> to the 2.5 kernel. This is a minimal port (x86 only) intended to get
>> some testing done; once again the algorithm used is the same as in
>> previous patches. There are several cleanups and removed 2.4-isms that
>> make the code somewhat more compact, though.
>> I'll be experimenting with other coloring schemes later this week.
>> www.boo.net/~jasonp/page_color-2.5.59-20030127.patch
>> Feedback of any sort welcome.
On Mon, Jan 27, 2003 at 10:58:53PM -0800, Martin J. Bligh wrote:
> I took a 16-way NUMA-Q (700MHz P3 Xeon's w/2MB L2 cache) and ran some
> cpu-intensive benchmarks (kernel compile on warm cache with -j32 and
> -j 256, SDET 1 - 128 users, and numaschedbench with 1 to 64 processes,
> which is a memory thrasher to test node affinity of memory operations),
> and compared to virgin 2.5.59 - no measurable difference on any test.
I think this one really needs to be done with the userspace cache
thrashing microbenchmarks. I also have rather serious reservations
about the interaction of the qlists with the per-cpu lists.
-- wli
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
2003-01-28 7:13 ` William Lee Irwin III
@ 2003-01-28 16:06 ` Martin J. Bligh
2003-01-28 16:41 ` Falk Hueffner
0 siblings, 1 reply; 13+ messages in thread
From: Martin J. Bligh @ 2003-01-28 16:06 UTC (permalink / raw)
To: William Lee Irwin III; +Cc: Jason Papadopoulos, linux-mm, linux-kernel
> I think this one really needs to be done with the userspace cache
> thrashing microbenchmarks.
If a benefit cannot be show on some sort of semi-realistic workload,
it's probably not worth it, IMHO.
M.
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] page coloring for 2.5.59 kernel, version 1
2003-01-28 16:06 ` Martin J. Bligh
@ 2003-01-28 16:41 ` Falk Hueffner
0 siblings, 0 replies; 13+ messages in thread
From: Falk Hueffner @ 2003-01-28 16:41 UTC (permalink / raw)
To: Martin J. Bligh
Cc: William Lee Irwin III, Jason Papadopoulos, linux-mm, linux-kernel
"Martin J. Bligh" <mbligh@aracnet.com> writes:
> > I think this one really needs to be done with the userspace cache
> > thrashing microbenchmarks.
>
> If a benefit cannot be show on some sort of semi-realistic workload,
> it's probably not worth it, IMHO.
I tested an earlier version on Alpha. While it didn't yield noticeable
performance benefits, it increased the reproducability of my benchmark
a lot, which is also pretty useful.
--
Falk
--
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/
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2003-01-28 18:01 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-28 18:01 [PATCH] page coloring for 2.5.59 kernel, version 1 jasonp
-- strict thread matches above, loose matches on Subject: below --
2003-01-28 17:49 jasonp
[not found] <3.0.6.32.20030127224726.00806c20@boo.net.suse.lists.linux.kernel>
[not found] ` <884740000.1043737132@titus.suse.lists.linux.kernel>
[not found] ` <20030128071313.GH780@holomorphy.com.suse.lists.linux.kernel>
[not found] ` <1466000000.1043770007@titus.suse.lists.linux.kernel>
2003-01-28 16:37 ` Andi Kleen
2003-01-28 16:49 ` Martin J. Bligh
2003-01-28 17:06 ` Bill Davidsen
2003-01-28 17:22 ` Valdis.Kletnieks
2003-01-28 3:47 Jason Papadopoulos
2003-01-28 3:57 ` William Lee Irwin III
2003-01-28 4:11 ` William Lee Irwin III
2003-01-28 6:58 ` Martin J. Bligh
2003-01-28 7:13 ` William Lee Irwin III
2003-01-28 16:06 ` Martin J. Bligh
2003-01-28 16:41 ` Falk Hueffner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox