netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* (no subject)
@ 2003-09-18 18:35 Robert Olsson
  2003-09-18 19:38 ` your mail Jeff Garzik
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Olsson @ 2003-09-18 18:35 UTC (permalink / raw)
  To: netdev, davem, jgarzik, akpm

From: Robert Olsson <robert@robur.slu.se>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <16233.64248.666702.679433@robur.slu.se>
Date: Thu, 18 Sep 2003 20:35:36 +0200
To: Andrew Morton <akpm@osdl.org>
Cc: Jeff Garzik <jgarzik@pobox.com>,
    davem@redhat.com,
    netdev@oss.sgi.com
Subject: Re: netif_poll_disable() hangs
In-Reply-To: <20030908002914.737122a9.akpm@osdl.org>
References: <20030907232145.6ec197fd.akpm@osdl.org>
	<3F5C2D1A.5050500@pobox.com>
	<20030908002914.737122a9.akpm@osdl.org>
X-Mailer: VM 6.92 under Emacs 21.2.1


Andrew Morton writes:
 > > > 
 > > > 	ifup eth0
 > > > 	ifdown eth0
 > > > 	ifup eth0
 > > > 	ifdown eth0	<- hangs in dev_close -> netif_poll_disable()

 > 2.4 does test_bit, 2.6 does test_and_set_bit.

 
 Yeep. I noticed this too in 2.6.0-test5


--- include/linux/netdevice.h.orig	2003-09-08 21:50:31.000000000 +0200
+++ include/linux/netdevice.h	2003-09-17 17:27:58.000000000 +0200
@@ -830,9 +830,9 @@
 	local_irq_restore(flags);
 }
 
-static inline void netif_poll_disable(struct net_device *dev)
+static inline void netif_poll_sync(struct net_device *dev)
 {
-	while (test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
+	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
 		/* No hurry. */
 		current->state = TASK_INTERRUPTIBLE;
 		schedule_timeout(1);
--- net/core/dev.c.orig	2003-09-08 21:50:06.000000000 +0200
+++ net/core/dev.c	2003-09-17 17:28:32.000000000 +0200
@@ -841,7 +841,7 @@
 	 * engine, but this requires more changes in devices. */
 
 	smp_mb__after_clear_bit(); /* Commit netif_running(). */
-	netif_poll_disable(dev);
+	netif_poll_sync(dev);
 
 	/*
 	 *	Call the device specific close. This cannot fail.


Cheers.

					--ro

^ permalink raw reply	[flat|nested] 7+ messages in thread
* (no subject)
@ 2020-06-09 11:38 Gaurav Singh
  2020-06-09 11:54 ` your mail Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: Gaurav Singh @ 2020-06-09 11:38 UTC (permalink / raw)
  To: gaurav1086, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau,
	Song Liu, Yonghong Song, Andrii Nakryiko, John Fastabend,
	KP Singh, David S. Miller, Jakub Kicinski, Jesper Dangaard Brouer,
	open list:BPF (Safe dynamic programs and tools),
	open list:BPF (Safe dynamic programs and tools), open list

Please find the patch below.

Thanks and regards,
Gaurav.

From Gaurav Singh <gaurav1086@gmail.com> # This line is ignored.
From: Gaurav Singh <gaurav1086@gmail.com>
Reply-To: 
Subject: 
In-Reply-To: 



^ permalink raw reply	[flat|nested] 7+ messages in thread
* (unknown), 
@ 2013-10-19 22:21 Antonio Quartulli
  2013-10-20  0:15 ` (unknown) David Miller
  0 siblings, 1 reply; 7+ messages in thread
From: Antonio Quartulli @ 2013-10-19 22:21 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n

Hello David,

this is another batch intended for net-next/linux-3.13.

This pull request is a bit bigger than usual, but 6 patches are very small
(three of them are about email updates)..

Patch 1 is fixing a previous merge conflict resolution that went wrong
(I realised that only now while checking other patches..).
Patches from 2 to 4 that are updating our emails in all the proper files
(Documentation/, headers and MAINTAINERS).

Patches 5, 6 and 7 are bringing a big improvement to the TranslationTable
component: it is now able to group non-mesh clients based on the VLAN they
belong to. In this way a lot a new enhancements are now possible thanks to the
fact that each batman-adv behaviour can be applied on a per VLAN basis.

And, of course, in patches from 8 to 12 you have some of the enhancements I was
talking about:
- make the batman-Gateway selection VLAN dependent
- make DAT (Distributed ARP Table) group ARP entries on a VLAN basis (this
  allows DAT to work even when the admin decided to use the same IP subnet on
  different VLANs)
- make the AP-Isolation behaviour switchable on each VLAN independently
- export VLAN specific attributes via sysfs. Switches like the AP-Isolation are
  now exported once per VLAN (backward compatibility of the sysfs interface has
  been preserved)

Patches 13 and 14 are small code cleanups.
Patch 15 is a minor improvement in the TT locking mechanism.

Patches 16 and 17 are other enhancements to the TT component. Those allow a
node to parse a "non-mesh client announcement message" and accept only those
TT entries belonging to certain VLANs.

Patch 18 exploits this parse&accept mechanism to make the Bridge Loop Avoidance
component reject only TT entries connected to the VLAN where it is operating.
Previous to this change, BLA was rejecting all the entries coming from any other
Backbone node, regardless of the VLAN (for more details about how the Bridge
Loop Avoidance works please check [1]).


Please pull or let me know of any problem.

Thanks a lot,
	Antonio


[1] http://www.open-mesh.org/projects/batman-adv/wiki/Bridge-loop-avoidance-II

The following changes since commit b1eda2ac3fa6bf23b27c7c70eda6885124c79ed3:

  em_ipset: use dev_net() accessor (2013-10-18 16:23:06 -0400)

are available in the git repository at:

  git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem

for you to fetch changes up to cfd4f75701b6b13b1ec74e6f65ad0d1969c19247:

  batman-adv: make the backbone gw check VLAN specific (2013-10-19 23:25:38 +0200)

----------------------------------------------------------------
Included changed:
- email addresses update in documentation, source files and MAINTAINERS
- make the TT component distinguish non-mesh clients based on the VLAN they
  belong to
- improve all the internal components to properly work on a per-VLAN basis
  (enabled by the new TT-VLAN feature)
- enhance the sysfs interface in order to provide behaviour switches on a
  per-VLAN basis (enabled by the new TT-VLAN feature)
- improve TT lock mechanism
- improve unicast transmission APIs

----------------------------------------------------------------
Antonio Quartulli (15):
      batman-adv: check skb preparation return value
      batman-adv: update email address for Antonio Quartulli
      batman-adv: add the VLAN ID attribute to the TT entry
      batman-adv: use vid when computing local and global TT CRC
      batman-adv: print the VID together with the TT entries
      batman-adv: make the GW module correctly talk to the new VLAN-TT
      batman-adv: make the Distributed ARP Table vlan aware
      batman-adv: add per VLAN interface attribute framework
      batman-adv: add sysfs framework for VLAN
      batman-adv: make the AP isolation attribute VLAN specific
      batman-adv: remove bogus comment
      batman-adv: lock around TT operations to avoid sending inconsistent data
      batman-adv: make the TT CRC logic VLAN specific
      batman-adv: make the TT global purge routine VLAN specific
      batman-adv: make the backbone gw check VLAN specific

Linus Lüssing (1):
      batman-adv: refine API calls for unicast transmissions of SKBs

Marek Lindner (1):
      batman-adv: update email address for Marek Lindner

Simon Wunderlich (1):
      batman-adv: update email address for Simon Wunderlich

 .../ABI/testing/sysfs-class-net-batman-adv         |    4 +-
 Documentation/ABI/testing/sysfs-class-net-mesh     |   23 +-
 Documentation/networking/batman-adv.txt            |    4 +-
 MAINTAINERS                                        |    2 +-
 net/batman-adv/bridge_loop_avoidance.c             |   58 +-
 net/batman-adv/bridge_loop_avoidance.h             |   10 +-
 net/batman-adv/distributed-arp-table.c             |  160 ++-
 net/batman-adv/gateway_client.c                    |   25 +-
 net/batman-adv/hard-interface.c                    |    2 +
 net/batman-adv/main.c                              |   33 +-
 net/batman-adv/main.h                              |   15 +-
 net/batman-adv/originator.c                        |  104 +-
 net/batman-adv/originator.h                        |    7 +
 net/batman-adv/packet.h                            |   32 +-
 net/batman-adv/routing.c                           |   28 +-
 net/batman-adv/send.c                              |   98 +-
 net/batman-adv/send.h                              |   51 +-
 net/batman-adv/soft-interface.c                    |  227 +++-
 net/batman-adv/soft-interface.h                    |    4 +
 net/batman-adv/sysfs.c                             |  178 ++-
 net/batman-adv/sysfs.h                             |   10 +
 net/batman-adv/translation-table.c                 | 1157 +++++++++++++++-----
 net/batman-adv/translation-table.h                 |   23 +-
 net/batman-adv/types.h                             |   83 +-
 24 files changed, 1851 insertions(+), 487 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
@ 2007-08-15 13:53 Stefan Richter
  2007-08-15 14:35 ` Satyam Sharma
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Richter @ 2007-08-15 13:53 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Herbert Xu, Chris Snook, satyam, clameter, linux-kernel,
	linux-arch, torvalds, netdev, akpm, ak, davem, schwidefsky,
	wensong, horms, wjiang, cfriesen, zlynx, rpjday, jesper.juhl,
	segher

On 8/15/2007 10:18 AM, Heiko Carstens wrote:
> On Wed, Aug 15, 2007 at 02:49:03PM +0800, Herbert Xu wrote:
>> Chris Snook <csnook@redhat.com> wrote:
>> > 
>> > Because atomic operations are generally used for synchronization, which requires 
>> > volatile behavior.  Most such codepaths currently use an inefficient barrier(). 
>> >  Some forget to and we get bugs, because people assume that atomic_read() 
>> > actually reads something, and atomic_write() actually writes something.  Worse, 
>> > these are architecture-specific, even compiler version-specific bugs that are 
>> > often difficult to track down.
>> 
>> I'm yet to see a single example from the current tree where
>> this patch series is the correct solution.  So far the only
>> example has been a buggy piece of code which has since been
>> fixed with a cpu_relax.
> 
> Btw.: we still have
> 
> include/asm-i386/mach-es7000/mach_wakecpu.h:  while (!atomic_read(deassert));
> include/asm-i386/mach-default/mach_wakecpu.h: while (!atomic_read(deassert));
> 
> Looks like they need to be fixed as well.


I don't know if this here is affected:

/* drivers/ieee1394/ieee1394_core.h */
static inline unsigned int get_hpsb_generation(struct hpsb_host *host)
{
	return atomic_read(&host->generation);
}

/* drivers/ieee1394/nodemgr.c */
static int nodemgr_host_thread(void *__hi)
{
	[...]

	for (;;) {
		[... sleep until bus reset event ...]

		/* Pause for 1/4 second in 1/16 second intervals,
		 * to make sure things settle down. */
		g = get_hpsb_generation(host);
		for (i = 0; i < 4 ; i++) {
			if (msleep_interruptible(63) ||
			    kthread_should_stop())
				goto exit;

	/* Now get the generation in which the node ID's we collect
	 * are valid.  During the bus scan we will use this generation
	 * for the read transactions, so that if another reset occurs
	 * during the scan the transactions will fail instead of
	 * returning bogus data. */

			generation = get_hpsb_generation(host);

	/* If we get a reset before we are done waiting, then
	 * start the waiting over again */

			if (generation != g)
				g = generation, i = 0;
		}

		[... scan bus, using generation ...]

	}
exit:
[...]
}



-- 
Stefan Richter
-=====-=-=== =--- -====
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 7+ messages in thread
* (no subject)
@ 2004-04-12 13:23 Denis Vlasenko
  2004-04-13 13:46 ` your mail James Morris
  0 siblings, 1 reply; 7+ messages in thread
From: Denis Vlasenko @ 2004-04-12 13:23 UTC (permalink / raw)
  To: David S. Miller, netdev, jmorris, yoshfuji; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 323 bytes --]

According to my measurements,

ip_vs_control_add() (from include/net/ip_vs.h) is called twice
and
sock_queue_rcv_skb() (from include/net/sock.h) is called 19 times
from various kernel .c files.

Both these includes generate more than 500 bytes of code on x86.

These patches uninline them. Please apply.
--
vda

[-- Attachment #2: net_inline1.patch --]
[-- Type: text/x-diff, Size: 3711 bytes --]

diff -urN linux-2.6.5.orig/include/net/ip_vs.h linux-2.6.5.net_inline/include/net/ip_vs.h
--- linux-2.6.5.orig/include/net/ip_vs.h	Mon Apr 12 15:42:10 2004
+++ linux-2.6.5.net_inline/include/net/ip_vs.h	Mon Apr 12 15:46:43 2004
@@ -766,53 +766,8 @@
 extern void ip_vs_random_dropentry(void);
 extern int ip_vs_conn_init(void);
 extern void ip_vs_conn_cleanup(void);
-
-static inline void ip_vs_control_del(struct ip_vs_conn *cp)
-{
-	struct ip_vs_conn *ctl_cp = cp->control;
-	if (!ctl_cp) {
-		IP_VS_ERR("request control DEL for uncontrolled: "
-			  "%d.%d.%d.%d:%d to %d.%d.%d.%d:%d\n",
-			  NIPQUAD(cp->caddr),ntohs(cp->cport),
-			  NIPQUAD(cp->vaddr),ntohs(cp->vport));
-		return;
-	}
-
-	IP_VS_DBG(7, "DELeting control for: "
-		  "cp.dst=%d.%d.%d.%d:%d ctl_cp.dst=%d.%d.%d.%d:%d\n",
-		  NIPQUAD(cp->caddr),ntohs(cp->cport),
-		  NIPQUAD(ctl_cp->caddr),ntohs(ctl_cp->cport));
-
-	cp->control = NULL;
-	if (atomic_read(&ctl_cp->n_control) == 0) {
-		IP_VS_ERR("BUG control DEL with n=0 : "
-			  "%d.%d.%d.%d:%d to %d.%d.%d.%d:%d\n",
-			  NIPQUAD(cp->caddr),ntohs(cp->cport),
-			  NIPQUAD(cp->vaddr),ntohs(cp->vport));
-		return;
-	}
-	atomic_dec(&ctl_cp->n_control);
-}
-
-static inline void
-ip_vs_control_add(struct ip_vs_conn *cp, struct ip_vs_conn *ctl_cp)
-{
-	if (cp->control) {
-		IP_VS_ERR("request control ADD for already controlled: "
-			  "%d.%d.%d.%d:%d to %d.%d.%d.%d:%d\n",
-			  NIPQUAD(cp->caddr),ntohs(cp->cport),
-			  NIPQUAD(cp->vaddr),ntohs(cp->vport));
-		ip_vs_control_del(cp);
-	}
-
-	IP_VS_DBG(7, "ADDing control for: "
-		  "cp.dst=%d.%d.%d.%d:%d ctl_cp.dst=%d.%d.%d.%d:%d\n",
-		  NIPQUAD(cp->caddr),ntohs(cp->cport),
-		  NIPQUAD(ctl_cp->caddr),ntohs(ctl_cp->cport));
-
-	cp->control = ctl_cp;
-	atomic_inc(&ctl_cp->n_control);
-}
+extern void ip_vs_control_del(struct ip_vs_conn *cp);
+extern void ip_vs_control_add(struct ip_vs_conn *cp, struct ip_vs_conn *ctl_cp);
 
 
 /*
diff -urN linux-2.6.5.orig/net/ipv4/ipvs/ip_vs_core.c linux-2.6.5.net_inline/net/ipv4/ipvs/ip_vs_core.c
--- linux-2.6.5.orig/net/ipv4/ipvs/ip_vs_core.c	Sun Apr  4 06:36:13 2004
+++ linux-2.6.5.net_inline/net/ipv4/ipvs/ip_vs_core.c	Mon Apr 12 15:59:10 2004
@@ -199,6 +199,57 @@
 	return 1;
 }
 
+
+void
+ip_vs_control_del(struct ip_vs_conn *cp)
+{
+	struct ip_vs_conn *ctl_cp = cp->control;
+	if (!ctl_cp) {
+		IP_VS_ERR("request control DEL for uncontrolled: "
+			  "%d.%d.%d.%d:%d to %d.%d.%d.%d:%d\n",
+			  NIPQUAD(cp->caddr),ntohs(cp->cport),
+			  NIPQUAD(cp->vaddr),ntohs(cp->vport));
+		return;
+	}
+
+	IP_VS_DBG(7, "DELeting control for: "
+		  "cp.dst=%d.%d.%d.%d:%d ctl_cp.dst=%d.%d.%d.%d:%d\n",
+		  NIPQUAD(cp->caddr),ntohs(cp->cport),
+		  NIPQUAD(ctl_cp->caddr),ntohs(ctl_cp->cport));
+
+	cp->control = NULL;
+	if (atomic_read(&ctl_cp->n_control) == 0) {
+		IP_VS_ERR("BUG control DEL with n=0 : "
+			  "%d.%d.%d.%d:%d to %d.%d.%d.%d:%d\n",
+			  NIPQUAD(cp->caddr),ntohs(cp->cport),
+			  NIPQUAD(cp->vaddr),ntohs(cp->vport));
+		return;
+	}
+	atomic_dec(&ctl_cp->n_control);
+}
+
+
+void
+ip_vs_control_add(struct ip_vs_conn *cp, struct ip_vs_conn *ctl_cp)
+{
+	if (cp->control) {
+		IP_VS_ERR("request control ADD for already controlled: "
+			  "%d.%d.%d.%d:%d to %d.%d.%d.%d:%d\n",
+			  NIPQUAD(cp->caddr),ntohs(cp->cport),
+			  NIPQUAD(cp->vaddr),ntohs(cp->vport));
+		ip_vs_control_del(cp);
+	}
+
+	IP_VS_DBG(7, "ADDing control for: "
+		  "cp.dst=%d.%d.%d.%d:%d ctl_cp.dst=%d.%d.%d.%d:%d\n",
+		  NIPQUAD(cp->caddr),ntohs(cp->cport),
+		  NIPQUAD(ctl_cp->caddr),ntohs(ctl_cp->cport));
+
+	cp->control = ctl_cp;
+	atomic_inc(&ctl_cp->n_control);
+}
+
+
 /*
  *  IPVS persistent scheduling function
  *  It creates a connection entry according to its template if exists,

[-- Attachment #3: net_inline2.patch --]
[-- Type: text/x-diff, Size: 2731 bytes --]

diff -urN linux-2.6.5.orig/include/net/sock.h linux-2.6.5.net_inline2/include/net/sock.h
--- linux-2.6.5.orig/include/net/sock.h	Sun Apr  4 06:37:37 2004
+++ linux-2.6.5.net_inline2/include/net/sock.h	Mon Apr 12 16:05:03 2004
@@ -898,45 +898,7 @@
 	atomic_add(skb->truesize, &sk->sk_rmem_alloc);
 }
 
-static inline int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
-{
-	int err = 0;
-	int skb_len;
-
-	/* Cast skb->rcvbuf to unsigned... It's pointless, but reduces
-	   number of warnings when compiling with -W --ANK
-	 */
-	if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >=
-	    (unsigned)sk->sk_rcvbuf) {
-		err = -ENOMEM;
-		goto out;
-	}
-
-	/* It would be deadlock, if sock_queue_rcv_skb is used
-	   with socket lock! We assume that users of this
-	   function are lock free.
-	*/
-	err = sk_filter(sk, skb, 1);
-	if (err)
-		goto out;
-
-	skb->dev = NULL;
-	skb_set_owner_r(skb, sk);
-
-	/* Cache the SKB length before we tack it onto the receive
-	 * queue.  Once it is added it no longer belongs to us and
-	 * may be freed by other threads of control pulling packets
-	 * from the queue.
-	 */
-	skb_len = skb->len;
-
-	skb_queue_tail(&sk->sk_receive_queue, skb);
-
-	if (!sock_flag(sk, SOCK_DEAD))
-		sk->sk_data_ready(sk, skb_len);
-out:
-	return err;
-}
+int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb);
 
 static inline int sock_queue_err_skb(struct sock *sk, struct sk_buff *skb)
 {
diff -urN linux-2.6.5.orig/net/core/sock.c linux-2.6.5.net_inline2/net/core/sock.c
--- linux-2.6.5.orig/net/core/sock.c	Sun Apr  4 06:37:37 2004
+++ linux-2.6.5.net_inline2/net/core/sock.c	Mon Apr 12 16:05:39 2004
@@ -1138,6 +1138,46 @@
 	atomic_set(&sk->sk_refcnt, 1);
 }
 
+int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+{
+	int err = 0;
+	int skb_len;
+
+	/* Cast skb->rcvbuf to unsigned... It's pointless, but reduces
+	   number of warnings when compiling with -W --ANK
+	 */
+	if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >=
+	    (unsigned)sk->sk_rcvbuf) {
+		err = -ENOMEM;
+		goto out;
+	}
+
+	/* It would be deadlock, if sock_queue_rcv_skb is used
+	   with socket lock! We assume that users of this
+	   function are lock free.
+	*/
+	err = sk_filter(sk, skb, 1);
+	if (err)
+		goto out;
+
+	skb->dev = NULL;
+	skb_set_owner_r(skb, sk);
+
+	/* Cache the SKB length before we tack it onto the receive
+	 * queue.  Once it is added it no longer belongs to us and
+	 * may be freed by other threads of control pulling packets
+	 * from the queue.
+	 */
+	skb_len = skb->len;
+
+	skb_queue_tail(&sk->sk_receive_queue, skb);
+
+	if (!sock_flag(sk, SOCK_DEAD))
+		sk->sk_data_ready(sk, skb_len);
+out:
+	return err;
+}
+
 void lock_sock(struct sock *sk)
 {
 	might_sleep();

^ permalink raw reply	[flat|nested] 7+ messages in thread
* (unknown), 
@ 2002-04-19 19:32 raciel
  2002-04-19 23:33 ` your mail James Morris
  0 siblings, 1 reply; 7+ messages in thread
From: raciel @ 2002-04-19 19:32 UTC (permalink / raw)
  To: linux-net



Somebody can tell me where i can get the LSM patch?
Regards Raciel


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-06-09 11:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-18 18:35 (no subject) Robert Olsson
2003-09-18 19:38 ` your mail Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2020-06-09 11:38 Gaurav Singh
2020-06-09 11:54 ` your mail Greg KH
2013-10-19 22:21 (unknown), Antonio Quartulli
2013-10-20  0:15 ` (unknown) David Miller
2013-10-20  7:57   ` your mail Antonio Quartulli
2007-08-15 13:53 [PATCH 0/24] make atomic_read() behave consistently across all architectures Stefan Richter
2007-08-15 14:35 ` Satyam Sharma
2007-08-15 14:52   ` Herbert Xu
2007-08-15 16:09     ` Stefan Richter
2007-08-15 16:27       ` Paul E. McKenney
2007-08-15 18:31         ` Segher Boessenkool
2007-08-15 18:57           ` Paul E. McKenney
2007-08-15 19:54             ` Satyam Sharma
2007-08-15 20:47               ` Segher Boessenkool
2007-08-16  0:36                 ` (unknown) Satyam Sharma
2007-08-16  0:32                   ` your mail Herbert Xu
2004-04-12 13:23 (no subject) Denis Vlasenko
2004-04-13 13:46 ` your mail James Morris
2002-04-19 19:32 (unknown), raciel
2002-04-19 23:33 ` your mail James Morris

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).