* [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 0 siblings, 1 reply; 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 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 0 siblings, 1 reply; 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-25 23:12 ` David S. Miller 2001-06-26 8:35 ` When the FUD is all around (sniff) Luigi Genoni 0 siblings, 2 replies; 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:50 ` Will @ 2001-06-25 23:12 ` David S. Miller 2001-06-26 8:35 ` When the FUD is all around (sniff) Luigi Genoni 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-25 23:12 ` David S. Miller @ 2001-06-26 8:35 ` Luigi Genoni 2001-06-26 12:33 ` Alessandro Suardi ` (4 more replies) 1 sibling, 5 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-27 21:08 ` Fabrice Gautier 2001-06-26 12:34 ` Alan Cox ` (3 subsequent siblings) 4 siblings, 1 reply; 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 12:33 ` Alessandro Suardi @ 2001-06-27 21:08 ` Fabrice Gautier 0 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
* 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 ` (2 more replies) 2001-06-26 14:19 ` Stephen Satchell ` (2 subsequent siblings) 4 siblings, 3 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
* [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 ` (2 more replies) 2001-06-26 22:47 ` lk 2001-06-27 12:44 ` Marco Colombo 2 siblings, 3 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:06 ` Jonathan Lundell 2001-06-26 15:28 ` Luigi Genoni 2 siblings, 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
* 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: [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
* [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:06 ` Jonathan Lundell 2001-06-26 15:28 ` Luigi Genoni 2 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 14:59 ` [OT] " Jordan Crouse 2001-06-26 15:02 ` Alan Cox 2001-06-26 15:06 ` Jonathan Lundell @ 2001-06-26 15:28 ` Luigi Genoni 2 siblings, 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 12:34 ` Alan Cox 2001-06-26 14:59 ` [OT] " Jordan Crouse @ 2001-06-26 22:47 ` lk 2001-06-27 12:44 ` Marco Colombo 2 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 2001-06-26 14:59 ` [OT] " Jordan Crouse 2001-06-26 22:47 ` lk @ 2001-06-27 12:44 ` Marco Colombo 2 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 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 2001-06-26 15:16 ` Jonathan Corbet 4 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 4 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
* 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 4 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: 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
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-25 23:12 ` David S. Miller
2001-06-26 8:35 ` When the FUD is all around (sniff) Luigi Genoni
2001-06-26 12:33 ` Alessandro Suardi
2001-06-27 21:08 ` Fabrice Gautier
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:06 ` Jonathan Lundell
2001-06-26 15:28 ` Luigi Genoni
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
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.