linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] skb destructor enhancement idea
       [not found]   ` <20010621161349.A27654@egregious.net>
@ 2001-06-25 21:06     ` Will
  2001-06-25 22:34     ` David S. Miller
  1 sibling, 0 replies; 21+ messages in thread
From: Will @ 2001-06-25 21:06 UTC (permalink / raw)
  To: linux-kernel

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

Here is a patch against 2.4.6pre5 that implements a gneric, 'chainable' destructor
mechanism for sk_buff structures. It allows for an arbitrary number of ordered
destructor calls for skbs.

We are currently using this change in a low-level packet monitoring module so we can
allocate our own packet memory and get called back when the skb is done moving
through the stack. It seems like it should be useful to allow network drivers to
implement their own device-specific memory management and thus reduce mem copying
overhead, too.

Any driver people want to try it out and see if they can make their driver use it to
reduce copying?

Any comments on the idea in general?

-- 
-Will  :: AD6XL :: http://tyranny.egregious.net/~will/
 Orton :: finger will@tyranny.egregious.net for GPG public key

[-- Attachment #2: skbd-246p5 --]
[-- Type: text/plain, Size: 15462 bytes --]

diff -ur linux-246p5-clean/include/linux/skbuff.h linux/include/linux/skbuff.h
--- linux-246p5-clean/include/linux/skbuff.h	Fri May 25 18:01:43 2001
+++ linux/include/linux/skbuff.h	Mon Jun 25 12:23:49 2001
@@ -25,6 +25,7 @@
 #include <linux/spinlock.h>
 #include <linux/mm.h>
 #include <linux/highmem.h>
+#include <linux/slab.h>
 
 #define HAVE_ALLOC_SKB		/* For the drivers to know */
 #define HAVE_ALIGNABLE_SKB	/* Ditto 8)		   */
@@ -114,6 +115,18 @@
 	__u16 size;
 };
 
+struct sk_buff_dest {
+	struct sk_buff_dest	*next;
+	void (*destructor)(void *);
+	void *context;
+};
+
+struct sk_buff_dest_pool {
+	struct sk_buff_dest	*head;	
+	spinlock_t	lock;
+	kmem_cache_t	*cache;
+};
+
 /* This data is invariant across clones and lives at
  * the end of the header data, ie. at skb->end.
  */
@@ -191,7 +204,7 @@
 	unsigned char	*tail;			/* Tail pointer					*/
 	unsigned char 	*end;			/* End pointer					*/
 
-	void 		(*destructor)(struct sk_buff *);	/* Destruct function		*/
+	struct sk_buff_dest_pool	destructor;
 #ifdef CONFIG_NETFILTER
 	/* Can be used for communication between hooks. */
         unsigned long	nfmark;
@@ -245,6 +258,78 @@
 /* Internal */
 #define skb_shinfo(SKB)		((struct skb_shared_info *)((SKB)->end))
 
+/* SKB destructor stuff */
+extern unsigned int skbd_stat_add_head;
+extern unsigned int skbd_stat_add_dest;
+extern unsigned int skbd_stat_alloc;
+extern unsigned int skbd_stat_call_dest;
+extern unsigned int skbd_stat_maybe_call_dest;
+
+extern struct sk_buff_dest_pool sk_buff_dest_free_pool; 
+
+static inline void skbd_add_head(struct sk_buff_dest_pool *pool,
+				 struct sk_buff_dest *newnode)
+{
+	skbd_stat_add_head++;
+	newnode->next = pool->head;
+	pool->head = newnode;
+}
+
+static inline void skbd_remove_head(struct sk_buff_dest_pool *pool,
+				    struct sk_buff_dest **rmnode)
+{
+	if ((*rmnode = pool->head) != NULL)
+		pool->head = pool->head->next;
+}
+
+
+static inline int skb_add_dest(struct sk_buff *skb, void (*destructor)(void *),
+			       void *context, unsigned long gfp_mask)
+{
+	unsigned long flags;
+	struct sk_buff_dest *skbd;
+
+	skbd_stat_add_dest++;
+
+	spin_lock_irqsave(&sk_buff_dest_free_pool.lock, flags);
+	skbd_remove_head(&sk_buff_dest_free_pool, &skbd); 
+	spin_unlock_irqrestore(&sk_buff_dest_free_pool.lock, flags);
+
+	if (!skbd) {
+		skbd_stat_alloc++;
+		skbd = kmem_cache_alloc( sk_buff_dest_free_pool.cache, gfp_mask);
+		if (!skbd) {
+			printk(" out of memory allocating skbd\n");
+			return 1;
+		}
+	}
+
+	skbd->destructor = destructor;
+	skbd->context = context;
+	skbd_add_head(&skb->destructor, skbd);
+	return 0;
+}																								   
+
+static inline void skb_call_dest(struct sk_buff *skb)
+{
+	unsigned long flags;
+	struct sk_buff_dest *skbd;
+
+	skbd_stat_maybe_call_dest++;
+	skbd_remove_head(&skb->destructor, &skbd);
+
+	while (skbd) {
+		skbd_stat_call_dest++;
+		skbd->destructor(skbd->context);
+
+		spin_lock_irqsave(&sk_buff_dest_free_pool.lock, flags);
+		skbd_add_head(&sk_buff_dest_free_pool, skbd);
+		spin_unlock_irqrestore(&sk_buff_dest_free_pool.lock, flags);
+
+		skbd_remove_head(&skb->destructor, &skbd);
+	}
+}
+
 /**
  *	skb_queue_empty - check if a queue is empty
  *	@list: queue head
@@ -971,9 +1056,7 @@
 
 static inline void skb_orphan(struct sk_buff *skb)
 {
-	if (skb->destructor)
-		skb->destructor(skb);
-	skb->destructor = NULL;
+	skb_call_dest(skb);
 	skb->sk = NULL;
 }
 
diff -ur linux-246p5-clean/include/net/sock.h linux/include/net/sock.h
--- linux-246p5-clean/include/net/sock.h	Fri May 25 18:03:05 2001
+++ linux/include/net/sock.h	Mon Jun 25 11:33:14 2001
@@ -1143,19 +1143,23 @@
  *	packet ever received.
  */
 
-static inline void skb_set_owner_w(struct sk_buff *skb, struct sock *sk)
+static inline int skb_set_owner_w(struct sk_buff *skb, struct sock *sk)
 {
 	sock_hold(sk);
 	skb->sk = sk;
-	skb->destructor = sock_wfree;
+	if (skb_add_dest(skb, (void (*)(void *))sock_wfree, skb, GFP_ATOMIC))
+		return 1;
 	atomic_add(skb->truesize, &sk->wmem_alloc);
+	return 0;
 }
 
-static inline void skb_set_owner_r(struct sk_buff *skb, struct sock *sk)
+static inline int skb_set_owner_r(struct sk_buff *skb, struct sock *sk)
 {
 	skb->sk = sk;
-	skb->destructor = sock_rfree;
+	if (skb_add_dest(skb, (void (*)(void *))sock_rfree, skb, GFP_ATOMIC))
+		return 1;
 	atomic_add(skb->truesize, &sk->rmem_alloc);
+	return 0;
 }
 
 static inline int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
@@ -1185,7 +1189,7 @@
 #endif /* CONFIG_FILTER */
 
 	skb->dev = NULL;
-	skb_set_owner_r(skb, sk);
+	if (skb_set_owner_r(skb, sk) == 1) return -ENOMEM;
 	skb_queue_tail(&sk->receive_queue, skb);
 	if (!sk->dead)
 		sk->data_ready(sk,skb->len);
@@ -1199,7 +1203,7 @@
 	 */
 	if (atomic_read(&sk->rmem_alloc) + skb->truesize >= (unsigned)sk->rcvbuf)
 		return -ENOMEM;
-	skb_set_owner_r(skb, sk);
+	if (skb_set_owner_r(skb, sk) == 1) return -ENOMEM;
 	skb_queue_tail(&sk->error_queue,skb);
 	if (!sk->dead)
 		sk->data_ready(sk,skb->len);
diff -ur linux-246p5-clean/include/net/tcp.h linux/include/net/tcp.h
--- linux-246p5-clean/include/net/tcp.h	Fri May 25 18:03:37 2001
+++ linux/include/net/tcp.h	Mon Jun 25 11:34:26 2001
@@ -1745,12 +1745,14 @@
 
 extern void tcp_rfree(struct sk_buff *skb);
 
-static inline void tcp_set_owner_r(struct sk_buff *skb, struct sock *sk)
+static inline int tcp_set_owner_r(struct sk_buff *skb, struct sock *sk)
 {
 	skb->sk = sk;
-	skb->destructor = tcp_rfree;
+	if (skb_add_dest(skb, (void (*)(void *))tcp_rfree, skb, GFP_ATOMIC))
+		return 1;
 	atomic_add(skb->truesize, &sk->rmem_alloc);
 	sk->forward_alloc -= skb->truesize;
+	return 0;
 }
 
 extern void tcp_listen_wlock(void);
diff -ur linux-246p5-clean/net/core/skbuff.c linux/net/core/skbuff.c
--- linux-246p5-clean/net/core/skbuff.c	Thu Apr 12 12:11:39 2001
+++ linux/net/core/skbuff.c	Mon Jun 25 12:34:48 2001
@@ -46,6 +46,7 @@
 #include <linux/inet.h>
 #include <linux/slab.h>
 #include <linux/netdevice.h>
+#include <linux/proc_fs.h>
 #include <linux/string.h>
 #include <linux/skbuff.h>
 #include <linux/cache.h>
@@ -71,6 +72,45 @@
 	char			pad[SMP_CACHE_BYTES];
 } skb_head_pool[NR_CPUS];
 
+struct sk_buff_dest_pool sk_buff_dest_free_pool;
+unsigned int skbd_stat_add_dest;
+unsigned int skbd_stat_alloc;
+unsigned int skbd_stat_add_head;
+unsigned int skbd_stat_maybe_call_dest;
+unsigned int skbd_stat_call_dest;
+
+static int skbd_get_info(char *buffer, char **start, off_t offset, int length)
+{
+	int size = 0;
+
+	size += sprintf(buffer + size, "add_head: %d\n", skbd_stat_add_head);
+	size += sprintf(buffer + size, "add_dest: %d\n", skbd_stat_add_dest);
+	size += sprintf(buffer + size, "alloc: %d\n", skbd_stat_alloc);
+	size += sprintf(buffer + size, "maybe_call_dest: %d\n", skbd_stat_maybe_call_dest);
+	size += sprintf(buffer + size, "call_dest: %d\n", skbd_stat_call_dest);
+	return size;
+}
+
+void __init skb_dest_init(void)
+{
+	sk_buff_dest_free_pool.cache = kmem_cache_create("dest_pool_cache",
+		sizeof(struct sk_buff_dest),
+		0,
+		SLAB_HWCACHE_ALIGN,
+		NULL, NULL);
+	if (!sk_buff_dest_free_pool.cache)
+		panic("cannot create sk_buff_dest_pool.cache");
+	spin_lock_init(&sk_buff_dest_free_pool.lock);
+	sk_buff_dest_free_pool.head	 = NULL;
+
+	proc_net_create("skbd", 0, skbd_get_info);
+	skbd_stat_add_head = 0;
+	skbd_stat_add_dest = 0;
+	skbd_stat_alloc = 0;
+	skbd_stat_maybe_call_dest = 0;
+	skbd_stat_call_dest = 0;
+}
+
 /*
  *	Keep out-of-line to prevent kernel bloat.
  *	__builtin_return_address is not used because it is not always
@@ -238,7 +278,7 @@
 	skb->ip_summed = 0;
 	skb->priority = 0;
 	skb->security = 0;	/* By default packets are insecure */
-	skb->destructor = NULL;
+	skb->destructor.head =  NULL;
 
 #ifdef CONFIG_NETFILTER
 	skb->nfmark = skb->nfcache = 0;
@@ -317,13 +357,8 @@
 	}
 
 	dst_release(skb->dst);
-	if(skb->destructor) {
-		if (in_irq()) {
-			printk(KERN_WARNING "Warning: kfree_skb on hard IRQ %p\n",
-				NET_CALLER(skb));
-		}
-		skb->destructor(skb);
-	}
+	skb_call_dest(skb);
+
 #ifdef CONFIG_NETFILTER
 	nf_conntrack_put(skb->nfct);
 #endif
@@ -384,7 +419,7 @@
 	C(data);
 	C(tail);
 	C(end);
-	n->destructor = NULL;
+	n->destructor.head = NULL;
 #ifdef CONFIG_NETFILTER
 	C(nfmark);
 	C(nfcache);
@@ -428,7 +463,7 @@
 	atomic_set(&new->users, 1);
 	new->pkt_type=old->pkt_type;
 	new->stamp=old->stamp;
-	new->destructor = NULL;
+	new->destructor.head = NULL;
 	new->security=old->security;
 #ifdef CONFIG_NETFILTER
 	new->nfmark=old->nfmark;
@@ -1177,4 +1212,6 @@
 
 	for (i=0; i<NR_CPUS; i++)
 		skb_queue_head_init(&skb_head_pool[i].list);
+
+	skb_dest_init();
 }
diff -ur linux-246p5-clean/net/ipv4/ip_gre.c linux/net/ipv4/ip_gre.c
--- linux-246p5-clean/net/ipv4/ip_gre.c	Tue May 15 01:29:35 2001
+++ linux/net/ipv4/ip_gre.c	Mon Jun 25 12:36:11 2001
@@ -821,8 +821,13 @@
 			tunnel->recursion--;
 			return 0;
 		}
-		if (skb->sk)
-			skb_set_owner_w(new_skb, skb->sk);
+		if (skb->sk && skb_set_owner_w(new_skb, skb->sk)) {
+			ip_rt_put(rt);
+			stats->tx_dropped++;
+			dev_kfree_skb(new_skb);
+			tunnel->recursion--;
+			return 0;
+		}
 		dev_kfree_skb(skb);
 		skb = new_skb;
 	}
diff -ur linux-246p5-clean/net/ipv4/ip_output.c linux/net/ipv4/ip_output.c
--- linux-246p5-clean/net/ipv4/ip_output.c	Fri Jun 22 17:29:27 2001
+++ linux/net/ipv4/ip_output.c	Mon Jun 25 10:38:34 2001
@@ -295,8 +295,10 @@
 		kfree_skb(skb);
 		if (skb2 == NULL)
 			return -ENOMEM;
-		if (sk)
-			skb_set_owner_w(skb2, sk);
+		if (sk && skb_set_owner_w(skb2, sk)) {
+			kfree_skb(skb2);	
+			return -ENOMEM;
+		}
 		skb = skb2;
 		iph = skb->nh.iph;
 	}
@@ -802,8 +804,10 @@
 		 *	it might possess
 		 */
 
-		if (skb->sk)
-			skb_set_owner_w(skb2, skb->sk);
+		if (skb->sk && skb_set_owner_w(skb2, skb->sk)) {
+			kfree_skb(skb2);
+			goto fail;
+		}		
 		skb2->dst = dst_clone(skb->dst);
 		skb2->dev = skb->dev;
 
diff -ur linux-246p5-clean/net/ipv4/ipip.c linux/net/ipv4/ipip.c
--- linux-246p5-clean/net/ipv4/ipip.c	Thu May 24 15:00:59 2001
+++ linux/net/ipv4/ipip.c	Mon Jun 25 10:39:46 2001
@@ -613,8 +613,14 @@
 			tunnel->recursion--;
 			return 0;
 		}
-		if (skb->sk)
-			skb_set_owner_w(new_skb, skb->sk);
+		if (skb->sk && skb_set_owner_w(new_skb, skb->sk)) {
+			dev_kfree_skb(new_skb);
+			dev_kfree_skb(skb);
+			ip_rt_put(rt);
+			stats->tx_dropped++;
+			tunnel->recursion--;
+			return 0;
+		}
 		dev_kfree_skb(skb);
 		skb = new_skb;
 	}
diff -ur linux-246p5-clean/net/ipv4/tcp_input.c linux/net/ipv4/tcp_input.c
--- linux-246p5-clean/net/ipv4/tcp_input.c	Fri Jun 22 17:29:27 2001
+++ linux/net/ipv4/tcp_input.c	Mon Jun 25 10:49:27 2001
@@ -2577,7 +2577,11 @@
 				if (tcp_prune_queue(sk) < 0 || !tcp_rmem_schedule(sk, skb))
 					goto drop;
 			}
-			tcp_set_owner_r(skb, sk);
+			if (tcp_set_owner_r(skb, sk)) {
+				printk(" tcp_set_owner_r failed\n");
+				__kfree_skb( skb );
+				return;
+			}	
 			__skb_queue_tail(&sk->receive_queue, skb);
 		}
 		tp->rcv_nxt = TCP_SKB_CB(skb)->end_seq;
@@ -2658,7 +2662,11 @@
 	SOCK_DEBUG(sk, "out of order segment: rcv_next %X seq %X - %X\n",
 		   tp->rcv_nxt, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq);
 
-	tcp_set_owner_r(skb, sk);
+	if (tcp_set_owner_r(skb, sk)) {
+		printk(" tcp_set_owner_r (2) failed\n");
+		__kfree_skb(skb);
+		return;
+	}
 
 	if (skb_peek(&tp->out_of_order_queue) == NULL) {
 		/* Initial out of order segment, build 1 SACK. */
@@ -2794,8 +2802,10 @@
 		memcpy(nskb->cb, skb->cb, sizeof(skb->cb));
 		TCP_SKB_CB(nskb)->seq = TCP_SKB_CB(nskb)->end_seq = start;
 		__skb_insert(nskb, skb->prev, skb, skb->list);
-		tcp_set_owner_r(nskb, sk);
-
+		if (tcp_set_owner_r(nskb, sk)) {
+			//do something to handle failure
+		}
+		
 		/* Copy data, releasing collapsed skbs. */
 		while (copy > 0) {
 			int offset = start - TCP_SKB_CB(skb)->seq;
@@ -3332,7 +3342,8 @@
 				/* Bulk data transfer: receiver */
 				__skb_pull(skb,tcp_header_len);
 				__skb_queue_tail(&sk->receive_queue, skb);
-				tcp_set_owner_r(skb, sk);
+				if (tcp_set_owner_r(skb, sk))
+					goto csum_error;
 				tp->rcv_nxt = TCP_SKB_CB(skb)->end_seq;
 			}
 
diff -ur linux-246p5-clean/net/ipv4/tcp_output.c linux/net/ipv4/tcp_output.c
--- linux-246p5-clean/net/ipv4/tcp_output.c	Thu Apr 12 12:11:39 2001
+++ linux/net/ipv4/tcp_output.c	Mon Jun 25 10:50:02 2001
@@ -224,7 +224,8 @@
 		}
 		th = (struct tcphdr *) skb_push(skb, tcp_header_size);
 		skb->h.th = th;
-		skb_set_owner_w(skb, sk);
+		if (skb_set_owner_w(skb, sk))
+			return -ENOMEM;
 
 		/* Build TCP header and checksum it. */
 		th->source		= sk->sport;
diff -ur linux-246p5-clean/net/netsyms.c linux/net/netsyms.c
--- linux-246p5-clean/net/netsyms.c	Fri Jun 22 17:29:28 2001
+++ linux/net/netsyms.c	Mon Jun 25 10:50:29 2001
@@ -92,6 +92,14 @@
 EXPORT_SYMBOL(skb_over_panic);
 EXPORT_SYMBOL(skb_under_panic);
 
+/* Skbuff destructor list and stats */
+EXPORT_SYMBOL(sk_buff_dest_free_pool);
+EXPORT_SYMBOL(skbd_stat_add_dest);
+EXPORT_SYMBOL(skbd_stat_alloc);
+EXPORT_SYMBOL(skbd_stat_add_head);
+EXPORT_SYMBOL(skbd_stat_maybe_call_dest);
+EXPORT_SYMBOL(skbd_stat_call_dest);
+
 /* Socket layer registration */
 EXPORT_SYMBOL(sock_register);
 EXPORT_SYMBOL(sock_unregister);
diff -ur linux-246p5-clean/net/unix/af_unix.c linux/net/unix/af_unix.c
--- linux-246p5-clean/net/unix/af_unix.c	Thu Apr 12 12:11:39 2001
+++ linux/net/unix/af_unix.c	Mon Jun 25 10:55:24 2001
@@ -1107,16 +1107,18 @@
 	return err;
 }
 
-static void unix_detach_fds(struct scm_cookie *scm, struct sk_buff *skb)
+static int unix_detach_fds(struct scm_cookie *scm, struct sk_buff *skb)
 {
 	int i;
 
 	scm->fp = UNIXCB(skb).fp;
-	skb->destructor = sock_wfree;
+	if (skb_add_dest(skb, (void (*)(void *))sock_wfree, skb, GFP_ATOMIC))
+		return 1;
 	UNIXCB(skb).fp = NULL;
 
 	for (i=scm->fp->count-1; i>=0; i--)
 		unix_notinflight(scm->fp->fp[i]);
+	return 0;
 }
 
 static void unix_destruct_fds(struct sk_buff *skb)
@@ -1131,14 +1133,16 @@
 	sock_wfree(skb);
 }
 
-static void unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
+static int unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
 {
 	int i;
 	for (i=scm->fp->count-1; i>=0; i--)
 		unix_inflight(scm->fp->fp[i]);
 	UNIXCB(skb).fp = scm->fp;
-	skb->destructor = unix_destruct_fds;
+	if (skb_add_dest(skb, (void (*)(void *))unix_destruct_fds, skb, GFP_ATOMIC))
+		return 1;
 	scm->fp = NULL;
+	return 0;
 }
 
 /*
@@ -1187,9 +1191,9 @@
 		goto out;
 
 	memcpy(UNIXCREDS(skb), &scm->creds, sizeof(struct ucred));
-	if (scm->fp)
-		unix_attach_fds(scm, skb);
-
+	if (scm->fp && unix_attach_fds(scm, skb))
+		goto out;
+	
 	skb->h.raw = skb->data;
 	err = memcpy_fromiovec(skb_put(skb,len), msg->msg_iov, len);
 	if (err)
@@ -1340,8 +1344,8 @@
 		size = min(size, skb_tailroom(skb));
 
 		memcpy(UNIXCREDS(skb), &scm->creds, sizeof(struct ucred));
-		if (scm->fp)
-			unix_attach_fds(scm, skb);
+		if (scm->fp && unix_attach_fds(scm, skb))
+			goto out_err;
 
 		if ((err = memcpy_fromiovec(skb_put(skb,size), msg->msg_iov, size)) != 0) {
 			kfree_skb(skb);
@@ -1421,8 +1425,8 @@
 
 	if (!(flags & MSG_PEEK))
 	{
-		if (UNIXCB(skb).fp)
-			unix_detach_fds(scm, skb);
+		if (UNIXCB(skb).fp && unix_detach_fds(scm, skb))
+			goto out_free;
 	}
 	else 
 	{
@@ -1584,8 +1588,11 @@
 		{
 			skb_pull(skb, chunk);
 
-			if (UNIXCB(skb).fp)
-				unix_detach_fds(scm, skb);
+			if (UNIXCB(skb).fp && unix_detach_fds(scm, skb)) {
+				skb_queue_head( &sk->receive_queue, skb );
+				copied = -EFAULT;
+				break;
+			}
 
 			/* put the skb back if we didn't use it up.. */
 			if (skb->len)

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

* Re: [PATCH] skb destructor enhancement idea
       [not found]   ` <20010621161349.A27654@egregious.net>
  2001-06-25 21:06     ` [PATCH] skb destructor enhancement idea Will
@ 2001-06-25 22:34     ` David S. Miller
  2001-06-25 22:50       ` Will
  2001-06-25 23:12       ` [PATCH] skb destructor enhancement idea David S. Miller
  1 sibling, 2 replies; 21+ messages in thread
From: David S. Miller @ 2001-06-25 22:34 UTC (permalink / raw)
  To: Will; +Cc: linux-kernel


Will writes:
 > We are currently using this change in a low-level packet monitoring module so we can
 > allocate our own packet memory and get called back when the skb is done moving
 > through the stack. It seems like it should be useful to allow network drivers to
 > implement their own device-specific memory management and thus reduce mem copying
 > overhead, too.
 > 
 > Any driver people want to try it out and see if they can make their driver use it to
 > reduce copying?
 > 
 > Any comments on the idea in general?

I think the idea totally stinks.

It puts a new shared cache line (the spinlock) into the hot path of
SKB allocation and freeing on SMP.

Add an ifdef and the knobs you need to the skb struct directly just
like netfilter does.

Later,
David S. Miller
davem@redhat.com


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

* Re: [PATCH] skb destructor enhancement idea
  2001-06-25 22:34     ` David S. Miller
@ 2001-06-25 22:50       ` Will
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
  2001-06-25 23:12       ` [PATCH] skb destructor enhancement idea David S. Miller
  1 sibling, 1 reply; 21+ messages in thread
From: Will @ 2001-06-25 22:50 UTC (permalink / raw)
  To: David S. Miller; +Cc: linux-kernel

David S. Miller wrote:
> I think the idea totally stinks.

The idea, or just the performance implications of my particular implementation? If
this could be done without a global spinlock would you still object to the
construction of the small linked list in each skb?

> Add an ifdef and the knobs you need to the skb struct directly just
> like netfilter does.

So I should #ifdef throughout the tcp and socket code wherever skb's 'destructor' is
called to call mine as well? And multiply that by N driver writers who'd like to do
the same thing? Sounds messy...

-- 
-Will  :: AD6XL :: http://tyranny.egregious.net/~will/
 Orton :: finger will@tyranny.egregious.net for GPG public key

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

* Re: [PATCH] skb destructor enhancement idea
  2001-06-25 22:34     ` David S. Miller
  2001-06-25 22:50       ` Will
@ 2001-06-25 23:12       ` David S. Miller
  1 sibling, 0 replies; 21+ messages in thread
From: David S. Miller @ 2001-06-25 23:12 UTC (permalink / raw)
  To: Will; +Cc: linux-kernel


Will writes:
 > > Add an ifdef and the knobs you need to the skb struct directly just
 > > like netfilter does.
 > 
 > So I should #ifdef throughout the tcp and socket code wherever skb's 'destructor' is
 > called to call mine as well? And multiply that by N driver writers who'd like to do
 > the same thing? Sounds messy...

Besides low-level packet frobbing, I can't think of any other
application.

In fact, more appropriate would be to extend netfilter to handle
low-level things as well as med/upper level things.

Then we wouldn't need driver specific things, this is my whole
point.  You're designing for yourself and nobody else.  When
people want to add things to sk_buff it usually is for a
not so well thought reason.

Later,
David S. Miller
davem@redhat.com

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

* When the FUD is all around (sniff).
  2001-06-25 22:50       ` Will
@ 2001-06-26  8:35         ` Luigi Genoni
  2001-06-26 12:33           ` Alessandro Suardi
                             ` (5 more replies)
  0 siblings, 6 replies; 21+ messages in thread
From: Luigi Genoni @ 2001-06-26  8:35 UTC (permalink / raw)
  To: linux-kernel


HI,

a couple of weeks ago, in Italy, on the review Affari e Finanza, that
comes with the newspaper "La Repubblica" (larepubblica@repubblica.it)
one of the biggest newspapaer in
Italy, there was an article with this title:
"Also Linux goes in Tribunal"
(http://www.repubblica.it/supplementi/af/.snapshot/nightly.1/2001/06/18/primopiano/010nuatta.html)
In this article it's said that open source and Free Software (those
terms are used as synonimous in the article, with a lot of confusion), are
a good things, (also if there are bad episodes like Gracenote changing its
licenze despite of the developers, from Open Source [GPL??] to a
commercial one), but actually kernel developers are tired of Linux and so,
while Microsoft could soon put an end to its trouble with american
joustice
"The big enemy Torvalds could be called to tribunal because of his big
power and monopolistic tendencies".

Please note, from the Title and the tone any reader would understand that
Some of big kernel hackers are going to sue Linus.
(Alan, some of my readers thinked to you).

In 3 days i recevived about 50 letters from Linux&C readers (the review i
write for), asking if it were true.

I wrote them, of course, not, and many of them wrote to "la Repubblica",
asking the reason of this FUD.
As an answert they received "read some kernel mail list archive".

simply they took some letter from some troll proposing a fork, and so...

The funny thing is that on the next page there was another article, with
the tittle "And als Us will be a little open".
The president of MicroSoft Italia was telling that M$ is really open
source because of (nahh, i cannot even write those lies).

After a couple of mail to "la Repubblica" i received as an answert that
they would have soon published a correction of the article.

I am reading now the "revision"
"It is true that kernel hackers dislike Linus attitute, but in tribunal
they took Gracenote"....
Again, I guess that Gracenote developers have troubles with Gracenote
commercial choice, but how is this related to Linus, or to any of the
people writing on this mail list?

If, let's say, some oracle developers working of the db version for winNT
go to the chart with Oracle, then a newspaper could ever write a title
like: "And Bill Gates goes to tribunal"?

Obviously, no.

here is a case when the fUD comes, not from M$, but from a newspaper
that should write facts.
I suppose they received some pression from M$, but if people read of a FUD
from a M$ employed, then they can guess what is going on, if it is a
newspaper usually telling facts in a correct way...

The situation is going to be sad

Luigi Genoni





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

* Re: When the FUD is all around (sniff).
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
@ 2001-06-26 12:33           ` Alessandro Suardi
  2001-06-26 12:34           ` Alan Cox
                             ` (4 subsequent siblings)
  5 siblings, 0 replies; 21+ messages in thread
From: Alessandro Suardi @ 2001-06-26 12:33 UTC (permalink / raw)
  To: Luigi Genoni; +Cc: linux-kernel

Luigi Genoni wrote:
> 
> HI,
> 
> a couple of weeks ago, in Italy, on the review Affari e Finanza, that
> comes with the newspaper "La Repubblica" (larepubblica@repubblica.it)
> one of the biggest newspapaer in
> Italy, there was an article with this title:
> "Also Linux goes in Tribunal"
> (http://www.repubblica.it/supplementi/af/.snapshot/nightly.1/2001/06/18/primopiano/010nuatta.html)

[snip]

Indeed, colleagues of mine pointed me to this article and it's an
 unbelievable piece of FUD. Let me translate the first lines for the
 non-Italian speaking...

'Even Linux ends up in court'

 "The open source community born around the "open" operating system
  rises against founder Linus Torvalds, accused of centralizing power
  and encumbering technology development" 

The supposed accusers:

 "a few developers accusing him of insufficient flexibility in his
  own choices"

but later these become

 "the entire Open Source community, for example, wonders whether
  Linux development may suffer from Torvalds' power, who decides
  all of the development strategies, what functions get integrated
  and what are left out. Decisions that may have positive or negative
  influence on firms of RedHat's importance and others involved in
  commercial distributions of Linux".

To top this off with complete crap, after mentioning Gracenote:

 "There may be a paradoxical situation: the [Microsoft] appeal judge
  may restore the Microsoft monolith that judge Jackson wanted to
  break in small pieces. And in the meantime who could end up under
  accusation for excessive power and monopoly "temptation" would be
  the arch-enemy Torvalds."


I have trouble in finding words to describe such blatant ignorance.

--alessandro

"The only second chance I know is the chance to make the same mistake twice"
   (from the movie 'State and Main')

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

* Re: When the FUD is all around (sniff).
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
  2001-06-26 12:33           ` Alessandro Suardi
@ 2001-06-26 12:34           ` Alan Cox
  2001-06-26 14:59             ` [OT] " Jordan Crouse
                               ` (3 more replies)
  2001-06-26 14:19           ` Stephen Satchell
                             ` (3 subsequent siblings)
  5 siblings, 4 replies; 21+ messages in thread
From: Alan Cox @ 2001-06-26 12:34 UTC (permalink / raw)
  To: Luigi Genoni; +Cc: linux-kernel

> I suppose they received some pression from M$, but if people read of a FUD
> from a M$ employed, then they can guess what is going on, if it is a
> newspaper usually telling facts in a correct way...

It is common for newspaper staff to be corrupt, same with magazine people.
Sometimes because people generally believe in a cause and are not impartial
(which I've seen both pro and anti Linux btw) and sometimes because advertising
revenue is a good thing.

> The situation is going to be sad

There is a saying in he UK 'You can fool all of the people some of the time,
you can fool some of the people all the time, but you cannot fool all of the
people all of the time'. You only have to look at the incredibly dim view
technical people take of most printed reviews to see that.

Alan


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

* Re: When the FUD is all around (sniff).
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
  2001-06-26 12:33           ` Alessandro Suardi
  2001-06-26 12:34           ` Alan Cox
@ 2001-06-26 14:19           ` Stephen Satchell
  2001-06-26 14:38           ` Stephen Satchell
                             ` (2 subsequent siblings)
  5 siblings, 0 replies; 21+ messages in thread
From: Stephen Satchell @ 2001-06-26 14:19 UTC (permalink / raw)
  To: Alessandro Suardi, Luigi Genoni; +Cc: linux-kernel

At 02:33 PM 6/26/01 +0200, Alessandro Suardi wrote:
>To top this off with complete crap, after mentioning Gracenote:
>
>  "There may be a paradoxical situation: the [Microsoft] appeal judge
>   may restore the Microsoft monolith that judge Jackson wanted to
>   break in small pieces. And in the meantime who could end up under
>   accusation for excessive power and monopoly "temptation" would be
>   the arch-enemy Torvalds."
>
>
>I have trouble in finding words to describe such blatant ignorance.

The Internet Press Guild (http://www.netpress.org) is open to reporters and 
editors of any country, not just to US/Canada reporters.  When you write a 
letter to the editor in response to articles such as the one you quote in 
La Repubblica, be sure to mention this fact.

The Internet Press Guild was formed by Internet-savvy working reporters in 
response to the Time magazine CyberPorn article.  (They were chased off the 
newsgroup alt.internet.media-coverage when the SNR dropped like a 
rock.)  It's mission:  to provide a place where working press can check 
stories they are about to run regarding the Internet to avoid egg-on-face 
syndrome.

The IPG contains a few people close to Linux development, so while a story 
like this is a little beyond the original charter, a quick check would have 
avoided the gaff.


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

* Re: When the FUD is all around (sniff).
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
                             ` (2 preceding siblings ...)
  2001-06-26 14:19           ` Stephen Satchell
@ 2001-06-26 14:38           ` Stephen Satchell
  2001-06-26 15:16           ` Jonathan Corbet
  2001-06-27 21:08           ` Fabrice Gautier
  5 siblings, 0 replies; 21+ messages in thread
From: Stephen Satchell @ 2001-06-26 14:38 UTC (permalink / raw)
  To: Alan Cox, Luigi Genoni; +Cc: linux-kernel

At 01:34 PM 6/26/01 +0100, Alan Cox wrote:
>It is common for newspaper staff to be corrupt, same with magazine people.
>Sometimes because people generally believe in a cause and are not impartial
>(which I've seen both pro and anti Linux btw) and sometimes because 
>advertising
>revenue is a good thing.

Alan, never attribute to conspiracy that which is adequately explained by 
stupidity.  You would be surprised how often newspaper and magazine 
reporters and their editors make gaffs like this with absolutely no intent 
of malice, or with the sole malice of wanting to write an article that will 
be "interesting" to a large readership while taking insufficient time to 
check all the facts.

When I worked at a magazine as a staffer, I was amazed when the 
editor-in-chief, in response to complaints about a columnist who "got it 
wrong" a lot, said that he kept the columnist on because his mistakes 
attracted readership.  "He gets TONS of letters, and the readers can't wait 
to see how he screws up next!"  Again, not by intent, but by incompetence.

For reporters, it's not a matter of "not caring," it's a matter of being 
required to knock out 15 articles in one day (not uncommon for a reporter 
on a major metropolitan newspaper) and not having to hand references that 
are willing to provide answers quickly.

Final comment:  Know what a well-adjusted paranoid is?  "Hey, they ARE out 
to get you, but it's nothing personal."

Satch


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

* [OT] Re: When the FUD is all around (sniff).
  2001-06-26 12:34           ` Alan Cox
@ 2001-06-26 14:59             ` Jordan Crouse
  2001-06-26 15:02               ` Alan Cox
  2001-06-26 15:28               ` Luigi Genoni
  2001-06-26 15:06             ` Jonathan Lundell
                               ` (2 subsequent siblings)
  3 siblings, 2 replies; 21+ messages in thread
From: Jordan Crouse @ 2001-06-26 14:59 UTC (permalink / raw)
  To: linux-kernel

On Tuesday 26 June 2001 06:34, Alan Cox mentioned:

> > I suppose they received some pression from M$, but if people read of a
> > FUD from a M$ employed, then they can guess what is going on, if it is a
> > newspaper usually telling facts in a correct way...
>
> It is common for newspaper staff to be corrupt, same with magazine people.
> Sometimes because people generally believe in a cause and are not impartial
> (which I've seen both pro and anti Linux btw) and sometimes because
> advertising revenue is a good thing.

>From reading the article, the author showed that he understood the open 
source world fairly well (better than my grandmother), even taking a crack at 
Microsoft at one point:

"il servizio Hotmail di Microsoft, che gestisce la posta per oltre 12 milioni 
di utenti Internet, non "gira", come si dice nel gergo tecnico, su 
piattaforma Microsoft, ma su di un aggregato di pacchetti Open Source."

"Hotmail, from Microsoft, doesn't run on a Microsoft platform but rather a 
collection of Open Source packages."

He also discussed Perl, Python and other projects at length.  Basically, from 
his writing, I think that he was more missinformed that actually pushing real 
FUD.  I'll bet when he investigated the story, somebody close to him 
mentioned that Linus had the final say on what went into the kernel, and he 
probably saw a few e-mails on Google from people with rejected patches, and 
he assumed that there was something rotten going on.  And it probably doesn't 
help that we are always fighting amongst ourselves over architecture, 
implementation and the such.  An uneducated person reading over the archives 
would probably assume that Alan and Linus are ready to start hunting each 
other down, and the articles they write would probably reflect this.  

> > The situation is going to be sad
>
> There is a saying in he UK 'You can fool all of the people some of the
> time, you can fool some of the people all the time, but you cannot fool all
> of the people all of the time'. 

Didn't Abraham Lincoln say that?  :)

Jordan

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

* Re: [OT] Re: When the FUD is all around (sniff).
  2001-06-26 14:59             ` [OT] " Jordan Crouse
@ 2001-06-26 15:02               ` Alan Cox
  2001-06-26 15:09                 ` Jonathan Lundell
  2001-06-26 15:28               ` Luigi Genoni
  1 sibling, 1 reply; 21+ messages in thread
From: Alan Cox @ 2001-06-26 15:02 UTC (permalink / raw)
  To: jordanc; +Cc: linux-kernel

> > There is a saying in he UK 'You can fool all of the people some of the
> > time, you can fool some of the people all the time, but you cannot fool all
> > of the people all of the time'. 
> 
> Didn't Abraham Lincoln say that?  :)

[Digs]
Indeed in 1864.



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

* [OT] Re: When the FUD is all around (sniff).
  2001-06-26 12:34           ` Alan Cox
  2001-06-26 14:59             ` [OT] " Jordan Crouse
@ 2001-06-26 15:06             ` Jonathan Lundell
  2001-06-26 22:47             ` lk
  2001-06-27 12:44             ` Marco Colombo
  3 siblings, 0 replies; 21+ messages in thread
From: Jonathan Lundell @ 2001-06-26 15:06 UTC (permalink / raw)
  To: jordanc, linux-kernel

At 8:59 AM -0600 2001-06-26, Jordan Crouse wrote:
>  > There is a saying in he UK 'You can fool all of the people some of the
>>  time, you can fool some of the people all the time, but you cannot fool all
>>  of the people all of the time'.
>
>Didn't Abraham Lincoln say that?  :)

That's the common, but doubtful, attribution.
-- 
/Jonathan Lundell.

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

* Re: [OT] Re: When the FUD is all around (sniff).
  2001-06-26 15:02               ` Alan Cox
@ 2001-06-26 15:09                 ` Jonathan Lundell
  2001-06-26 17:41                   ` Rob Landley
  0 siblings, 1 reply; 21+ messages in thread
From: Jonathan Lundell @ 2001-06-26 15:09 UTC (permalink / raw)
  To: Alan Cox, jordanc; +Cc: linux-kernel

At 4:02 PM +0100 2001-06-26, Alan Cox wrote:
>  > > There is a saying in he UK 'You can fool all of the people some of the
>>  > time, you can fool some of the people all the time, but you 
>>cannot fool all
>>  > of the people all of the time'.
>>
>>  Didn't Abraham Lincoln say that?  :)
>
>[Digs]
>Indeed in 1864.

Perhaps, perhaps not.

http://www.usnews.com/usnews/issue/970217/17linc.htm

>What Zall did with the plethora of Lincoln anecdotes--include and 
>evaluate the apparently authentic, delete the seemingly 
>apocryphal--other historians are doing with collections of his 
>words. Their task is daunting: No American is more quoted--or 
>misquoted--than Lincoln. Their work also is important: The image of 
>Lincoln, the historical as well as the mythical, has been shaped to 
>an uncommon degree by statements that other people put in his mouth, 
>often to suit their own purposes.
>
>Stanford's Don Fehrenbacher and his wife, Virginia, spent 12 years 
>compiling the Recollected Words of Abraham Lincoln (Stanford 
>University Press, 1996, $60), a collection of 1,900 quotations 
>attributed to Lincoln by more than 500 of his contemporaries. The 
>scholars rated the authenticity of quotations with letter grades: A 
>for a direct quote the listener wrote down soon after hearing it; B 
>for a quickly recorded indirect quote; C for quotes reported weeks, 
>months, or years later; D for one "about whose authenticity there is 
>more than average doubt"; E for those "probably not authentic."
>
>No fooling. One now familiar line the Fehrenbachers examined was far 
>from familiar to 19th-century America: "You can fool all the people 
>some of the time and some of the people all of the time, but you 
>can't fool all the people all of the time." The saying apparently 
>first emerged in print in 1901 in Lincoln's Yarns and Stories; the 
>book identified the person who allegedly heard Lincoln as "a caller 
>at the White House." Years later, two old-timers claimed they had 
>heard Lincoln say it in an 1856 address in Illinois, but a news 
>account of the speech didn't mention it. The Fehrenbachers give the 
>old-timers' recollections a D. The evidence, the scholars say, 
>"suggests that this is a case of reminiscence echoing folklore or 
>fiction."


-- 
/Jonathan Lundell.

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

* Re: When the FUD is all around (sniff).
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
                             ` (3 preceding siblings ...)
  2001-06-26 14:38           ` Stephen Satchell
@ 2001-06-26 15:16           ` Jonathan Corbet
  2001-06-26 16:43             ` Rik van Riel
  2001-06-26 17:00             ` Kip Macy
  2001-06-27 21:08           ` Fabrice Gautier
  5 siblings, 2 replies; 21+ messages in thread
From: Jonathan Corbet @ 2001-06-26 15:16 UTC (permalink / raw)
  To: linux-kernel

The Repubblica article was bad enough, but if you want serious kernel FUD
you should see this bit of delight on AsiaBizTech:

	http://www.nikkeibp.asiabiztech.com/wcs/leaf?CID=onair/asabt/fw/133671

For example:

    Also, the casual attitude of Torvald [sic], which doesn't meet the
    needs of the market and minds of investors, is one of the reasons that
    investors have rapidly lost interest in Linux distributors and
    Linux-related businesses.

Cool.  Linus caused the end of the stock bubble...

jon

Jonathan Corbet
Executive editor, LWN.net
corbet@lwn.net

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

* Re: [OT] Re: When the FUD is all around (sniff).
  2001-06-26 14:59             ` [OT] " Jordan Crouse
  2001-06-26 15:02               ` Alan Cox
@ 2001-06-26 15:28               ` Luigi Genoni
  1 sibling, 0 replies; 21+ messages in thread
From: Luigi Genoni @ 2001-06-26 15:28 UTC (permalink / raw)
  To: Jordan Crouse; +Cc: linux-kernel



On Tue, 26 Jun 2001, Jordan Crouse wrote:

> On Tuesday 26 June 2001 06:34, Alan Cox mentioned:
>
> > > I suppose they received some pression from M$, but if people read of a
> > > FUD from a M$ employed, then they can guess what is going on, if it is a
> > > newspaper usually telling facts in a correct way...
> >
> > It is common for newspaper staff to be corrupt, same with magazine people.
> > Sometimes because people generally believe in a cause and are not impartial
> > (which I've seen both pro and anti Linux btw) and sometimes because
> > advertising revenue is a good thing.
>
> >From reading the article, the author showed that he understood the open
> source world fairly well (better than my grandmother), even taking a crack at
> Microsoft at one point:
>
> "il servizio Hotmail di Microsoft, che gestisce la posta per oltre 12 milioni
> di utenti Internet, non "gira", come si dice nel gergo tecnico, su
> piattaforma Microsoft, ma su di un aggregato di pacchetti Open Source."
>
> "Hotmail, from Microsoft, doesn't run on a Microsoft platform but rather a
> collection of Open Source packages."
>
> He also discussed Perl, Python and other projects at length.  Basically, from
> his writing, I think that he was more missinformed that actually pushing real
> FUD.  I'll bet when he investigated the story, somebody close to him
> mentioned that Linus had the final say on what went into the kernel, and he
> probably saw a few e-mails on Google from people with rejected patches, and
> he assumed that there was something rotten going on.
Those informations came from an article printed on Linux&C just 6 days
before the one on "affari e Finanza", written by A frined of mine, Felice
Mainolfi. Nothing wrong to take informations from another article,
(it takes also the same words), the final use of those true informations
is deprecable (to title after a page "and also Us will be open" about
M$ open source policy).

> And it probably doesn't
> help that we are always fighting amongst ourselves over architecture,
> implementation and the such.  An uneducated person reading over the archives
> would probably assume that Alan and Linus are ready to start hunting each
> other down, and the articles they write would probably reflect this.

probable.
>

Luigi Genoni


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

* Re: When the FUD is all around (sniff).
  2001-06-26 15:16           ` Jonathan Corbet
@ 2001-06-26 16:43             ` Rik van Riel
  2001-06-26 17:00             ` Kip Macy
  1 sibling, 0 replies; 21+ messages in thread
From: Rik van Riel @ 2001-06-26 16:43 UTC (permalink / raw)
  To: Jonathan Corbet; +Cc: linux-kernel

On Tue, 26 Jun 2001, Jonathan Corbet wrote:

> The Repubblica article was bad enough, but if you want serious kernel FUD
> you should see this bit of delight on AsiaBizTech:
>
> 	http://www.nikkeibp.asiabiztech.com/wcs/leaf?CID=onair/asabt/fw/133671

If anybody is interested in ressurecting
http://fud-counter.nl.linux.org/ please let
me know. I'll hand out CVS account to interested
parties.

> Cool.  Linus caused the end of the stock bubble...

*grin*

cheers,

Rik
--
Executive summary of a recent Microsoft press release:
   "we are concerned about the GNU General Public License (GPL)"


		http://www.surriel.com/
http://www.conectiva.com/	http://distro.conectiva.com/


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

* Re: When the FUD is all around (sniff).
  2001-06-26 15:16           ` Jonathan Corbet
  2001-06-26 16:43             ` Rik van Riel
@ 2001-06-26 17:00             ` Kip Macy
  1 sibling, 0 replies; 21+ messages in thread
From: Kip Macy @ 2001-06-26 17:00 UTC (permalink / raw)
  To: Jonathan Corbet; +Cc: linux-kernel

It's amazing what masquerades as news. It's also noteworthy that they
didn't bother to have a native speaker of English to edit the article:

An executive of another affiliated company said that he felt the passion
of IBM, which is determined to invest US$1 billion, this year alone, in
Linux. "IBM's passion really dragged us into this movement," he added.

He also said: "I can get a glimpse of the strong will of IBM, which has
recently regained its business strength, with an indication that 'there
shall be no free ride on Linux to be enhanced by IBM investing a huge
amount of money.'

On Tue, 26 Jun 2001, Jonathan Corbet wrote:

> The Repubblica article was bad enough, but if you want serious kernel FUD
> you should see this bit of delight on AsiaBizTech:
> 
> 	http://www.nikkeibp.asiabiztech.com/wcs/leaf?CID=onair/asabt/fw/133671
> 
> For example:
> 
>     Also, the casual attitude of Torvald [sic], which doesn't meet the
>     needs of the market and minds of investors, is one of the reasons that
>     investors have rapidly lost interest in Linux distributors and
>     Linux-related businesses.
> 
> Cool.  Linus caused the end of the stock bubble...
> 
> jon
> 
> Jonathan Corbet
> Executive editor, LWN.net
> corbet@lwn.net
> -
> 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/
> 


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

* Re: [OT] Re: When the FUD is all around (sniff).
  2001-06-26 15:09                 ` Jonathan Lundell
@ 2001-06-26 17:41                   ` Rob Landley
  0 siblings, 0 replies; 21+ messages in thread
From: Rob Landley @ 2001-06-26 17:41 UTC (permalink / raw)
  To: Jonathan Lundell, Alan Cox, jordanc; +Cc: linux-kernel

On Tuesday 26 June 2001 11:09, Jonathan Lundell wrote:

> >account of the speech didn't mention it. The Fehrenbachers give the
> >old-timers' recollections a D. The evidence, the scholars say,
> >"suggests that this is a case of reminiscence echoing folklore or
> >fiction."

I don't feel NEARLY so bad about the ongoing computer history thread being 
too far off-topic now. :)

Rob


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

* Re: When the FUD is all around (sniff).
  2001-06-26 12:34           ` Alan Cox
  2001-06-26 14:59             ` [OT] " Jordan Crouse
  2001-06-26 15:06             ` Jonathan Lundell
@ 2001-06-26 22:47             ` lk
  2001-06-27 12:44             ` Marco Colombo
  3 siblings, 0 replies; 21+ messages in thread
From: lk @ 2001-06-26 22:47 UTC (permalink / raw)
  To: Alan Cox; +Cc: Luigi Genoni, linux-kernel


Speaking of:
A TV station in my country said that the most pirated products belong to
M$ because computers cannot work wothout the GUI M$ windows provides.

In my country about 75% percent of M$ software are illegal copies :)






> > I suppose they received some pression from M$, but if people read of a FUD
> > from a M$ employed, then they can guess what is going on, if it is a
> > newspaper usually telling facts in a correct way...
>
> It is common for newspaper staff to be corrupt, same with magazine people.
> Sometimes because people generally believe in a cause and are not impartial
> (which I've seen both pro and anti Linux btw) and sometimes because advertising
> revenue is a good thing.
>
> > The situation is going to be sad
>
> There is a saying in he UK 'You can fool all of the people some of the time,
> you can fool some of the people all the time, but you cannot fool all of the
> people all of the time'. You only have to look at the incredibly dim view
> technical people take of most printed reviews to see that.
>
> Alan
>
> -
> 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/
>


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

* Re: When the FUD is all around (sniff).
  2001-06-26 12:34           ` Alan Cox
                               ` (2 preceding siblings ...)
  2001-06-26 22:47             ` lk
@ 2001-06-27 12:44             ` Marco Colombo
  3 siblings, 0 replies; 21+ messages in thread
From: Marco Colombo @ 2001-06-27 12:44 UTC (permalink / raw)
  To: Alan Cox; +Cc: Luigi Genoni, linux-kernel

On Tue, 26 Jun 2001, Alan Cox wrote:

> > I suppose they received some pression from M$, but if people read of a FUD
> > from a M$ employed, then they can guess what is going on, if it is a
> > newspaper usually telling facts in a correct way...
>
> It is common for newspaper staff to be corrupt, same with magazine people.
> Sometimes because people generally believe in a cause and are not impartial
> (which I've seen both pro and anti Linux btw) and sometimes because advertising
> revenue is a good thing.
>
> > The situation is going to be sad
>
> There is a saying in he UK 'You can fool all of the people some of the time,
> you can fool some of the people all the time, but you cannot fool all of the
> people all of the time'. You only have to look at the incredibly dim view
> technical people take of most printed reviews to see that.
>
> Alan

The problem here is the audience. That was on a major Italian newspaper,
and targeted to business people. This is not technical FUD you can find
on some magazines ("NT is faster" and so on). I personally don't care
a bit, I've enough arguments to turn it into a holy war, at least.
But the article summary could be: "Microsoft legal problems are going to
end, Linus' ones are just starting."  A clear message to IT managers who
are about to decide how to invest thier IT budget.

As for the saying, see http://finance.yahoo.com/q?s=MSFT, and take 2 seconds
to realize what that exactly means (both as a fact and as concept)
and reconsider the part "but you cannot fool all of the people
all of the time" (just s/people/business people/ and re-read). B-)

.TM.
-- 
      ____/  ____/   /
     /      /       /			Marco Colombo
    ___/  ___  /   /		      Technical Manager
   /          /   /			 ESI s.r.l.
 _____/ _____/  _/		       Colombo@ESI.it


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

* Re: When the FUD is all around (sniff).
  2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
                             ` (4 preceding siblings ...)
  2001-06-26 15:16           ` Jonathan Corbet
@ 2001-06-27 21:08           ` Fabrice Gautier
  5 siblings, 0 replies; 21+ messages in thread
From: Fabrice Gautier @ 2001-06-27 21:08 UTC (permalink / raw)
  To: Alessandro Suardi; +Cc: Luigi Genoni, linux-kernel


On Tue, 26 Jun 2001 14:33:03 +0200
Alessandro Suardi <alessandro.suardi@oracle.com> wrote:

> 
> I have trouble in finding words to describe such blatant ignorance.


A Troll ?

oh.. geez, this was not something on the internet...

-- 
Fabrice Gautier <gautier@email.enstfr>


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

end of thread, other threads:[~2001-06-27 21:10 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20010618134644.A5938@egregious.net>
     [not found] ` <20010618145331.A32166@wacko.asicdesigners.com>
     [not found]   ` <20010621161349.A27654@egregious.net>
2001-06-25 21:06     ` [PATCH] skb destructor enhancement idea Will
2001-06-25 22:34     ` David S. Miller
2001-06-25 22:50       ` Will
2001-06-26  8:35         ` When the FUD is all around (sniff) Luigi Genoni
2001-06-26 12:33           ` Alessandro Suardi
2001-06-26 12:34           ` Alan Cox
2001-06-26 14:59             ` [OT] " Jordan Crouse
2001-06-26 15:02               ` Alan Cox
2001-06-26 15:09                 ` Jonathan Lundell
2001-06-26 17:41                   ` Rob Landley
2001-06-26 15:28               ` Luigi Genoni
2001-06-26 15:06             ` Jonathan Lundell
2001-06-26 22:47             ` lk
2001-06-27 12:44             ` Marco Colombo
2001-06-26 14:19           ` Stephen Satchell
2001-06-26 14:38           ` Stephen Satchell
2001-06-26 15:16           ` Jonathan Corbet
2001-06-26 16:43             ` Rik van Riel
2001-06-26 17:00             ` Kip Macy
2001-06-27 21:08           ` Fabrice Gautier
2001-06-25 23:12       ` [PATCH] skb destructor enhancement idea David S. Miller

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