From: Herbert Poetzl <herbert@13thfloor.at>
To: Peter Osterlund <petero2@telia.com>
Cc: Linus Torvalds <torvalds@osdl.org>,
Jan Engelhardt <jengelh@linux01.gwdg.de>,
"Martin J. Bligh" <mbligh@mbligh.org>,
Lee Revell <rlrevell@joe-job.com>,
"Kjetil Svalastog Matheussen <k.s.matheussen@notam02.no>"
<k.s.matheussen@notam02.no>, Chris Friesen <cfriesen@nortel.com>,
Diego Calleja <diegocg@gmail.com>,
azarah@nosferatu.za.org, akpm@osdl.org, cw@f00f.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
christoph@lameter.org
Subject: Re: High irq load (Re: [PATCH] i386: Selectable Frequency of the Timer Interrupt)
Date: Mon, 18 Jul 2005 07:53:49 +0200 [thread overview]
Message-ID: <20050718055349.GA30667@MAIL.13thfloor.at> (raw)
In-Reply-To: <m3zmsppirb.fsf@telia.com>
On Thu, Jul 14, 2005 at 04:25:12PM +0200, Peter Osterlund wrote:
> Linus Torvalds <torvalds@osdl.org> writes:
>
> > On Wed, 13 Jul 2005, Jan Engelhardt wrote:
> > >
> > > No, some kernel code causes a triple-fault-and-reboot when the HZ is >=
> > > 10KHz. Maybe the highest possible value is 8192 Hz, not sure.
> >
> > Can you post the triple-fault message? It really shouldn't triple-fault,
> > although it _will_ obviously spend all time just doing timer interrupts,
> > so it shouldn't get much (if any) real work done either.
> ...
> > There should be no conceptual "highest possible HZ", although there are
> > certainly obvious practical limits to it (both on the timer hw itself, and
> > just the fact that at some point we'll spend all time on the timer
> > interrupt and won't get anything done..)
>
> HZ=10000 appears to work fine here after some hacks to avoid
> over/underflows in integer arithmetics. gkrellm reports about 3-4% CPU
> usage when the system is idle, on a 3.07 GHz P4.
yep, we've gone up to 20kHz actually, but this
requires some changes to long lasting network
timeouts :)
nevertheless 20Hz-20kHz works fine on 'most'
archs ...
best,
Herbert
> ---
>
> Makefile | 2 +-
> arch/i386/kernel/cpu/proc.c | 6 ++++++
> fs/nfsd/nfssvc.c | 2 +-
> include/linux/jiffies.h | 6 ++++++
> include/linux/nfsd/stats.h | 4 ++++
> include/linux/timex.h | 2 +-
> include/net/tcp.h | 12 +++++++++---
> init/calibrate.c | 21 +++++++++++++++++++++
> kernel/Kconfig.hz | 6 ++++++
> kernel/timer.c | 4 ++--
> net/ipv4/netfilter/ip_conntrack_proto_tcp.c | 2 +-
> 11 files changed, 58 insertions(+), 9 deletions(-)
>
> diff --git a/Makefile b/Makefile
> --- a/Makefile
> +++ b/Makefile
> @@ -1,7 +1,7 @@
> VERSION = 2
> PATCHLEVEL = 6
> SUBLEVEL = 13
> -EXTRAVERSION =-rc3
> +EXTRAVERSION =-rc3-test
> NAME=Woozy Numbat
>
> # *DOCUMENTATION*
> diff --git a/arch/i386/kernel/cpu/proc.c b/arch/i386/kernel/cpu/proc.c
> --- a/arch/i386/kernel/cpu/proc.c
> +++ b/arch/i386/kernel/cpu/proc.c
> @@ -128,9 +128,15 @@ static int show_cpuinfo(struct seq_file
> x86_cap_flags[i] != NULL )
> seq_printf(m, " %s", x86_cap_flags[i]);
>
> +#if HZ <= 5000
> seq_printf(m, "\nbogomips\t: %lu.%02lu\n\n",
> c->loops_per_jiffy/(500000/HZ),
> (c->loops_per_jiffy/(5000/HZ)) % 100);
> +#else
> + seq_printf(m, "\nbogomips\t: %lu.%02lu\n\n",
> + c->loops_per_jiffy/(500000/HZ),
> + (c->loops_per_jiffy*(HZ/5000)) % 100);
> +#endif
>
> return 0;
> }
> diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
> --- a/fs/nfsd/nfssvc.c
> +++ b/fs/nfsd/nfssvc.c
> @@ -160,7 +160,7 @@ update_thread_usage(int busy_threads)
> decile = busy_threads*10/nfsdstats.th_cnt;
> if (decile>0 && decile <= 10) {
> diff = nfsd_last_call - prev_call;
> - if ( (nfsdstats.th_usage[decile-1] += diff) >= NFSD_USAGE_WRAP)
> + if ( (nfsdstats.th_usage[decile-1] += diff) >= NFSD_USAGE_WRAP)
> nfsdstats.th_usage[decile-1] -= NFSD_USAGE_WRAP;
> if (decile == 10)
> nfsdstats.th_fullcnt++;
> diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
> --- a/include/linux/jiffies.h
> +++ b/include/linux/jiffies.h
> @@ -38,6 +38,12 @@
> # define SHIFT_HZ 9
> #elif HZ >= 768 && HZ < 1536
> # define SHIFT_HZ 10
> +#elif HZ >= 1536 && HZ < 3072
> +# define SHIFT_HZ 11
> +#elif HZ >= 3072 && HZ < 6144
> +# define SHIFT_HZ 12
> +#elif HZ >= 6144 && HZ < 12288
> +# define SHIFT_HZ 13
> #else
> # error You lose.
> #endif
> diff --git a/include/linux/nfsd/stats.h b/include/linux/nfsd/stats.h
> --- a/include/linux/nfsd/stats.h
> +++ b/include/linux/nfsd/stats.h
> @@ -30,7 +30,11 @@ struct nfsd_stats {
> };
>
> /* thread usage wraps very million seconds (approx one fortnight) */
> +#if HZ < 2048
> #define NFSD_USAGE_WRAP (HZ*1000000)
> +#else
> +#define NFSD_USAGE_WRAP (2048*1000000)
> +#endif
>
> #ifdef __KERNEL__
>
> diff --git a/include/linux/timex.h b/include/linux/timex.h
> --- a/include/linux/timex.h
> +++ b/include/linux/timex.h
> @@ -90,7 +90,7 @@
> *
> * FINENSEC is 1 ns in SHIFT_UPDATE units of the time_phase variable.
> */
> -#define SHIFT_SCALE 22 /* phase scale (shift) */
> +#define SHIFT_SCALE 25 /* phase scale (shift) */
> #define SHIFT_UPDATE (SHIFT_KG + MAXTC) /* time offset scale (shift) */
> #define SHIFT_USEC 16 /* frequency offset scale (shift) */
> #define FINENSEC (1L << (SHIFT_SCALE - 10)) /* ~1 ns in phase units */
> diff --git a/include/net/tcp.h b/include/net/tcp.h
> --- a/include/net/tcp.h
> +++ b/include/net/tcp.h
> @@ -486,8 +486,8 @@ static __inline__ int tcp_sk_listen_hash
> so that we select tick to get range about 4 seconds.
> */
>
> -#if HZ <= 16 || HZ > 4096
> -# error Unsupported: HZ <= 16 or HZ > 4096
> +#if HZ <= 16
> +# error Unsupported: HZ <= 16
> #elif HZ <= 32
> # define TCP_TW_RECYCLE_TICK (5+2-TCP_TW_RECYCLE_SLOTS_LOG)
> #elif HZ <= 64
> @@ -502,8 +502,14 @@ static __inline__ int tcp_sk_listen_hash
> # define TCP_TW_RECYCLE_TICK (10+2-TCP_TW_RECYCLE_SLOTS_LOG)
> #elif HZ <= 2048
> # define TCP_TW_RECYCLE_TICK (11+2-TCP_TW_RECYCLE_SLOTS_LOG)
> -#else
> +#elif HZ <= 4096
> # define TCP_TW_RECYCLE_TICK (12+2-TCP_TW_RECYCLE_SLOTS_LOG)
> +#elif HZ <= 8192
> +# define TCP_TW_RECYCLE_TICK (13+2-TCP_TW_RECYCLE_SLOTS_LOG)
> +#elif HZ <= 16384
> +# define TCP_TW_RECYCLE_TICK (14+2-TCP_TW_RECYCLE_SLOTS_LOG)
> +#else
> +# error Unsupported: HZ > 16384
> #endif
> /*
> * TCP option
> diff --git a/init/calibrate.c b/init/calibrate.c
> --- a/init/calibrate.c
> +++ b/init/calibrate.c
> @@ -119,16 +119,30 @@ void __devinit calibrate_delay(void)
>
> if (preset_lpj) {
> loops_per_jiffy = preset_lpj;
> +#if HZ <= 5000
> printk("Calibrating delay loop (skipped)... "
> "%lu.%02lu BogoMIPS preset\n",
> loops_per_jiffy/(500000/HZ),
> (loops_per_jiffy/(5000/HZ)) % 100);
> +#else
> + printk("Calibrating delay loop (skipped)... "
> + "%lu.%02lu BogoMIPS preset\n",
> + loops_per_jiffy/(500000/HZ),
> + (loops_per_jiffy*(HZ/5000)) % 100);
> +#endif
> } else if ((loops_per_jiffy = calibrate_delay_direct()) != 0) {
> printk("Calibrating delay using timer specific routine.. ");
> +#if HZ <= 5000
> printk("%lu.%02lu BogoMIPS (lpj=%lu)\n",
> loops_per_jiffy/(500000/HZ),
> (loops_per_jiffy/(5000/HZ)) % 100,
> loops_per_jiffy);
> +#else
> + printk("%lu.%02lu BogoMIPS (lpj=%lu)\n",
> + loops_per_jiffy/(500000/HZ),
> + (loops_per_jiffy*(HZ/5000)) % 100,
> + loops_per_jiffy);
> +#endif
> } else {
> loops_per_jiffy = (1<<12);
>
> @@ -164,10 +178,17 @@ void __devinit calibrate_delay(void)
> }
>
> /* Round the value and print it */
> +#if HZ <= 5000
> printk("%lu.%02lu BogoMIPS (lpj=%lu)\n",
> loops_per_jiffy/(500000/HZ),
> (loops_per_jiffy/(5000/HZ)) % 100,
> loops_per_jiffy);
> +#else
> + printk("%lu.%02lu BogoMIPS (lpj=%lu)\n",
> + loops_per_jiffy/(500000/HZ),
> + (loops_per_jiffy*(HZ/5000)) % 100,
> + loops_per_jiffy);
> +#endif
> }
>
> }
> diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
> --- a/kernel/Kconfig.hz
> +++ b/kernel/Kconfig.hz
> @@ -36,6 +36,11 @@ choice
> 1000 HZ is the preferred choice for desktop systems and other
> systems requiring fast interactive responses to events.
>
> + config HZ_10000
> + bool "10000 HZ"
> + help
> + 10000 HZ is for testing only.
> +
> endchoice
>
> config HZ
> @@ -43,4 +48,5 @@ config HZ
> default 100 if HZ_100
> default 250 if HZ_250
> default 1000 if HZ_1000
> + default 10000 if HZ_10000
>
> diff --git a/kernel/timer.c b/kernel/timer.c
> --- a/kernel/timer.c
> +++ b/kernel/timer.c
> @@ -710,7 +710,7 @@ static void second_overflow(void)
> if (ltemp > (MAXPHASE / MINSEC) << SHIFT_UPDATE)
> ltemp = (MAXPHASE / MINSEC) << SHIFT_UPDATE;
> time_offset += ltemp;
> - time_adj = -ltemp << (SHIFT_SCALE - SHIFT_HZ - SHIFT_UPDATE);
> + time_adj = -ltemp << (SHIFT_SCALE - SHIFT_HZ - SHIFT_UPDATE);
> } else {
> ltemp = time_offset;
> if (!(time_status & STA_FLL))
> @@ -718,7 +718,7 @@ static void second_overflow(void)
> if (ltemp > (MAXPHASE / MINSEC) << SHIFT_UPDATE)
> ltemp = (MAXPHASE / MINSEC) << SHIFT_UPDATE;
> time_offset -= ltemp;
> - time_adj = ltemp << (SHIFT_SCALE - SHIFT_HZ - SHIFT_UPDATE);
> + time_adj = ltemp << (SHIFT_SCALE - SHIFT_HZ - SHIFT_UPDATE);
> }
>
> /*
> diff --git a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
> --- a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
> +++ b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
> @@ -87,7 +87,7 @@ static const char *tcp_conntrack_names[]
>
> unsigned long ip_ct_tcp_timeout_syn_sent = 2 MINS;
> unsigned long ip_ct_tcp_timeout_syn_recv = 60 SECS;
> -unsigned long ip_ct_tcp_timeout_established = 5 DAYS;
> +unsigned long ip_ct_tcp_timeout_established = 2 DAYS;
> unsigned long ip_ct_tcp_timeout_fin_wait = 2 MINS;
> unsigned long ip_ct_tcp_timeout_close_wait = 60 SECS;
> unsigned long ip_ct_tcp_timeout_last_ack = 30 SECS;
>
> --
> Peter Osterlund - petero2@telia.com
> http://web.telia.com/~u89404340
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2005-07-18 5:53 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200506231828.j5NISlCe020350@hera.kernel.org>
2005-07-08 21:49 ` [PATCH] i386: Selectable Frequency of the Timer Interrupt Chris Wedgwood
2005-07-08 21:59 ` Andrew Morton
2005-07-08 22:05 ` Chris Wedgwood
2005-07-08 22:08 ` Linus Torvalds
2005-07-10 10:45 ` Denis Vlasenko
2005-07-08 22:22 ` Lee Revell
2005-07-08 22:33 ` Andrew Morton
2005-07-08 22:59 ` Martin J. Bligh
2005-07-08 23:03 ` Chris Wedgwood
2005-07-08 23:14 ` Martin J. Bligh
2005-07-08 23:29 ` David S. Miller
2005-07-08 23:40 ` Lee Revell
2005-07-09 17:08 ` Martin Schlemmer
2005-07-09 18:16 ` Lee Revell
2005-07-09 18:31 ` Arjan van de Ven
2005-07-09 18:33 ` Chris Wedgwood
2005-07-09 18:36 ` Lee Revell
2005-07-09 19:12 ` Andrew Morton
2005-07-09 19:16 ` Lee Revell
2005-07-09 20:30 ` randy_dunlap
2005-07-09 21:25 ` Lee Revell
2005-07-09 23:30 ` Randy Dunlap
2005-07-11 18:35 ` Martin J. Bligh
2005-07-11 13:23 ` Alan Cox
2005-07-11 14:05 ` Theodore Ts'o
2005-07-11 14:08 ` Arjan van de Ven
2005-07-11 15:18 ` Alan Cox
2005-07-12 2:13 ` Eric St-Laurent
2005-07-11 16:02 ` Chris Wedgwood
2005-07-15 12:17 ` Pavel Machek
2005-07-13 15:59 ` Bill Davidsen
2005-07-13 16:47 ` Lee Revell
2005-07-10 0:44 ` pmarques
2005-07-09 18:39 ` Diego Calleja
2005-07-09 18:41 ` Lee Revell
2005-07-09 18:49 ` Lee Revell
2005-07-09 18:50 ` Chris Wedgwood
2005-07-11 18:38 ` Martin J. Bligh
2005-07-11 20:25 ` Lee Revell
2005-07-11 20:39 ` Chris Friesen
2005-07-12 0:30 ` Lee Revell
2005-07-12 4:07 ` Martin J. Bligh
2005-07-12 4:13 ` Lee Revell
2005-07-12 4:30 ` Martin J. Bligh
2005-07-12 14:21 ` Lee Revell
2005-07-12 14:24 ` Lee Revell
2005-07-12 14:56 ` Martin J. Bligh
2005-07-12 15:00 ` Lee Revell
2005-07-12 15:08 ` Martin J. Bligh
2005-07-12 15:10 ` Lee Revell
2005-07-12 15:22 ` Martin J. Bligh
2005-07-12 19:30 ` Lee Revell
2005-07-12 20:58 ` Lee Revell
2005-07-12 22:22 ` Martin J. Bligh
2005-07-13 5:37 ` Lee Revell
2005-07-13 10:38 ` Jan Engelhardt
2005-07-13 18:42 ` High irq load (Re: [PATCH] i386: Selectable Frequency of the Timer Interrupt) Linus Torvalds
2005-07-14 14:25 ` Peter Osterlund
2005-07-18 5:53 ` Herbert Poetzl [this message]
2005-07-12 0:38 ` [PATCH] i386: Selectable Frequency of the Timer Interrupt George Anzinger
2005-07-12 12:10 ` Vojtech Pavlik
2005-07-12 12:39 ` Con Kolivas
2005-07-12 12:52 ` Con Kolivas
2005-07-12 15:57 ` George Anzinger
2005-07-12 16:27 ` Vojtech Pavlik
2005-07-13 16:26 ` Bill Davidsen
2005-07-13 16:46 ` Lee Revell
2005-07-13 17:24 ` David Lang
2005-07-13 18:42 ` Vojtech Pavlik
2005-07-13 19:10 ` Linus Torvalds
2005-07-13 19:13 ` Lee Revell
2005-07-13 19:32 ` Dmitry Torokhov
2005-07-13 19:33 ` Martin J. Bligh
2005-07-13 20:02 ` Fernando Lopez-Lezcano
2005-07-13 20:17 ` Lee Revell
2005-07-13 20:24 ` Lee Revell
2005-07-13 20:48 ` Andrew Morton
2005-07-13 21:16 ` Chris Wedgwood
2005-07-13 21:24 ` Lee Revell
2005-07-13 21:35 ` Martin J. Bligh
2005-07-13 21:37 ` Chris Friesen
2005-07-13 21:56 ` Chris Wedgwood
2005-07-13 23:07 ` George Anzinger
2005-07-13 21:29 ` Martin J. Bligh
2005-07-13 21:30 ` Lee Revell
2005-07-13 23:41 ` dean gaudet
2005-07-14 0:07 ` Petr Vandrovec
2005-07-14 9:24 ` Jan Engelhardt
2005-07-14 14:20 ` Lee Revell
2005-07-14 18:05 ` Jan Engelhardt
2005-07-14 18:20 ` Linus Torvalds
2005-07-14 0:51 ` Chris Wedgwood
2005-07-14 1:13 ` dean gaudet
2005-07-14 1:33 ` Lee Revell
2005-07-14 1:54 ` Linus Torvalds
2005-07-14 7:42 ` Arjan van de Ven
2005-07-14 12:13 ` Vojtech Pavlik
2005-07-14 16:37 ` Linus Torvalds
2005-07-14 17:02 ` Arjan van de Ven
2005-07-14 17:21 ` Linus Torvalds
2005-07-14 19:09 ` Russell King
2005-07-14 20:06 ` Linus Torvalds
2005-07-14 20:30 ` Russell King
2005-07-15 8:15 ` Gerd Knorr
2005-07-14 20:38 ` Johannes Stezenbach
2005-07-14 17:42 ` Al Boldi
2005-07-14 19:42 ` john stultz
2005-07-14 20:13 ` Linus Torvalds
2005-07-14 20:41 ` Christoph Lameter
2005-07-14 23:03 ` Chris Wedgwood
2005-07-14 21:54 ` john stultz
2005-07-14 22:43 ` Alan Cox
2005-07-14 23:19 ` Linus Torvalds
2005-07-15 12:33 ` Alan Cox
2005-07-14 17:10 ` Chris Friesen
2005-07-14 17:24 ` Linus Torvalds
2005-07-14 19:18 ` john stultz
2005-07-14 22:37 ` Alan Cox
2005-07-14 23:13 ` Linus Torvalds
2005-07-14 23:32 ` Linus Torvalds
2005-07-15 1:17 ` Eric St-Laurent
2005-07-14 23:17 ` Lee Revell
2005-07-14 23:25 ` Linus Torvalds
2005-07-14 23:41 ` Lee Revell
2005-07-14 23:49 ` Linus Torvalds
2005-07-14 23:53 ` Lee Revell
2005-07-15 12:42 ` Bill Davidsen
2005-07-14 23:57 ` Lee Revell
2005-07-15 2:30 ` Fernando Lopez-Lezcano
2005-07-15 12:46 ` Bill Davidsen
2005-07-15 16:46 ` Fernando Lopez-Lezcano
2005-07-30 5:49 ` [GIT PATCH] ACPI patches for 2.6.13 Len Brown
2005-07-30 9:58 ` [ACPI] " Pavel Machek
2005-08-03 23:16 ` [GIT PATCH] ACPI patches for 2.6.13-rc5 Len Brown
2005-08-04 17:11 ` [GIT PATCH] ACPI patches for 2.6.13-rc5+ Len Brown
2005-08-15 20:35 ` [GIT PATCH] ACPI patch for 2.6.13-rc6 Len Brown
2005-07-14 23:50 ` [PATCH] i386: Selectable Frequency of the Timer Interrupt Lee Revell
2005-07-15 4:08 ` Con Kolivas
2005-07-15 4:17 ` Lee Revell
2005-07-15 4:54 ` Zwane Mwaikambo
2005-07-15 16:59 ` Lee Revell
2005-07-15 14:51 ` kernel
2005-07-14 18:00 ` Andrew Morton
2005-07-14 8:38 ` Ingo Molnar
2005-07-14 14:55 ` Lee Revell
2005-07-14 15:02 ` Christoph Lameter
2005-07-14 15:25 ` Lee Revell
2005-07-15 11:38 ` [OT] high precision hardware (was Re: [PATCH] i386: Selectable Frequency of the Timer Interrupt) Paul Jakma
2005-07-15 15:57 ` Christoph Lameter
2005-07-15 16:13 ` Lee Revell
2005-07-14 2:08 ` [PATCH] i386: Selectable Frequency of the Timer Interrupt Lee Revell
2005-07-14 9:56 ` Maciej W. Rozycki
2005-07-15 0:04 ` Jesper Juhl
2005-07-15 0:15 ` Lee Revell
2005-07-15 0:17 ` Jesper Juhl
2005-07-15 0:42 ` Linus Torvalds
2005-07-15 8:41 ` Russell King
2005-07-15 0:24 ` Linus Torvalds
2005-07-15 1:40 ` Jesper Juhl
2005-07-15 2:00 ` Eric St-Laurent
2005-07-15 19:58 ` Stephen Pollei
2005-07-16 5:16 ` Eric St-Laurent
2005-07-15 2:07 ` Bill Davidsen
2005-07-15 9:36 ` Matthias Urlichs
2005-07-15 3:46 ` Jesper Juhl
2005-07-15 5:04 ` Linus Torvalds
2005-07-15 13:12 ` Jesper Juhl
2005-07-17 2:13 ` Jesper Juhl
2005-07-17 2:35 ` Lee Revell
2005-07-17 2:35 ` Nish Aravamudan
2005-07-17 3:55 ` Lee Revell
2005-07-23 23:40 ` randy_dunlap
2005-07-25 13:26 ` Vojtech Pavlik
2005-07-23 23:48 ` randy_dunlap
2005-07-23 23:52 ` Jesper Juhl
2005-07-24 12:58 ` Bill Davidsen
2005-07-15 8:44 ` Russell King
2005-07-15 15:41 ` Pavel Machek
2005-07-13 20:02 ` Diego Calleja
2005-07-13 19:35 ` Benjamin LaHaise
2005-07-13 19:41 ` Vojtech Pavlik
2005-07-13 19:53 ` Benjamin LaHaise
2005-07-14 10:04 ` Maciej W. Rozycki
2005-07-13 19:52 ` George Anzinger
2005-07-13 23:54 ` Con Kolivas
2005-07-14 0:43 ` George Anzinger
2005-07-14 10:25 ` Krzysztof Halasa
2005-07-14 12:19 ` Vojtech Pavlik
2005-07-14 21:19 ` Krzysztof Halasa
2005-07-15 1:19 ` Bill Davidsen
2005-07-12 13:30 ` Vojtech Pavlik
2005-07-12 14:05 ` Jan Engelhardt
2005-07-12 16:07 ` Vojtech Pavlik
2005-07-12 15:26 ` [PATCH] " Martin J. Bligh
2005-07-12 17:50 ` john stultz
2005-07-12 22:30 ` Nishanth Aravamudan
2005-07-12 17:56 ` john stultz
2005-07-12 0:45 ` Lee Revell
2005-07-11 13:18 ` Alan Cox
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=20050718055349.GA30667@MAIL.13thfloor.at \
--to=herbert@13thfloor.at \
--cc=akpm@osdl.org \
--cc=azarah@nosferatu.za.org \
--cc=cfriesen@nortel.com \
--cc=christoph@lameter.org \
--cc=cw@f00f.org \
--cc=diegocg@gmail.com \
--cc=jengelh@linux01.gwdg.de \
--cc=k.s.matheussen@notam02.no \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@mbligh.org \
--cc=petero2@telia.com \
--cc=rlrevell@joe-job.com \
--cc=torvalds@osdl.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
all inboxes | Powered by JetHome®