skb destructor enhancement idea
Subsystems (5)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 skb destructor enhancement idea
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?
Signature · 2 lines
-Will :: AD6XL :: http://tyranny.egregious.net/~will/ Orton :: finger [email protected] for GPG public key
include/linux/skbuff.h +87 -4
@@ -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 ; }
include/net/sock.h +10 -6
@@ -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);
include/net/tcp.h +4 -2
@@ -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 );
net/core/skbuff.c +47 -10
97 lines not on this page · raw message
net/ipv4/ip_gre.c +7 -2
@@ -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; }
net/ipv4/ip_output.c +8 -4
@@ -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;
net/ipv4/ipip.c +8 -2
@@ -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; }
net/ipv4/tcp_input.c +16 -5
@@ -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; }
net/ipv4/tcp_output.c +2 -1
@@ -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;
net/netsyms.c +8 -0
@@ -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);
net/unix/af_unix.c +20 -13
@@ -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)
Quoted 10 lines · Will
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
[email protected]
Quoted 1 line · David S. Miller
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?
Quoted 2 lines
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...
Signature · 2 lines
-Will :: AD6XL :: http://tyranny.egregious.net/~will/ Orton :: finger [email protected] for GPG public key
Quoted 6 lines · Will
Quoted 2 lines
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
[email protected]
When the FUD is all around (sniff).
In reply to WillHI,
a couple of weeks ago, in Italy, on the review Affari e Finanza, that comes with the newspaper "La Repubblica" ([email protected]) 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
Re: When the FUD is all around (sniff).
Quoted 9 lines · Luigi Genoni
HI,
a couple of weeks ago, in Italy, on the review Affari e Finanza, that comes with the newspaper "La Repubblica" ([email protected]) 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')
Re: When the FUD is all around (sniff).
Quoted 10 lines · Alessandro Suardi
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.
Re: When the FUD is all around (sniff).
In reply to Alessandro SuardiQuoted 2 lines · On Tue, 26 Jun 2001 14:33:03 +0200 Alessandro Suardi…
I have trouble in finding words to describe such blatant ignorance.
A Troll ?
oh.. geez, this was not something on the internet...
Signature · 1 line
Fabrice Gautier <[email protected]>
Re: When the FUD is all around (sniff).
In reply to Luigi GenoniQuoted 3 lines
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.
Quoted 1 line
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
Re: When the FUD is all around (sniff).
Quoted 4 lines · Alan Cox
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
[OT] Re: When the FUD is all around (sniff).
In reply to Alan CoxOn Tuesday 26 June 2001 06:34, Alan Cox mentioned:
Quoted 10 lines
Quoted 3 lines
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.
Quoted 5 lines
Quoted 1 line
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
Re: [OT] Re: When the FUD is all around (sniff).
Quoted 5 lines
Quoted 3 lines
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.
Re: [OT] Re: When the FUD is all around (sniff).
Quoted 9 lines · Alan Cox
Quoted 6 lines
Quoted 2 lines
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
Quoted 1 line
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
Quoted 5 lines
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."
Signature · 1 line
/Jonathan Lundell.
Re: [OT] Re: When the FUD is all around (sniff).
In reply to Alan CoxQuoted 4 lines · Jonathan Lundell
Quoted 4 lines
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
[OT] Re: When the FUD is all around (sniff).
In reply to Jordan CrouseQuoted 5 lines · Jordan Crouse
Quoted 3 lines
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.
Signature · 1 line
/Jonathan Lundell.
Re: [OT] Re: When the FUD is all around (sniff).
In reply to Jordan CrouseQuoted 22 lines · Jordan Crouse
On Tuesday 26 June 2001 06:34, Alan Cox mentioned:
Quoted 10 lines
Quoted 3 lines
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."
Quoted 6 lines
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).
Quoted 5 lines
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.
Quoted 1 line
Luigi Genoni
Re: When the FUD is all around (sniff).
In reply to Alan CoxSpeaking 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 :)
Quoted 24 lines
Quoted 3 lines
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.
Quoted 1 line
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: When the FUD is all around (sniff).
In reply to Alan CoxQuoted 9 lines · Alan Cox
Quoted 3 lines
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.
Quoted 8 lines
Quoted 1 line
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.
Signature · 5 lines
____/ ____/ /
/ / / Marco Colombo
___/ ___ / / Technical Manager
/ / / ESI s.r.l.
_____/ _____/ _/ [email protected]Re: When the FUD is all around (sniff).
In reply to Luigi GenoniThe 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
[email protected]
Re: When the FUD is all around (sniff).
Quoted 4 lines · Jonathan Corbet
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.
Quoted 1 line
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/
Re: When the FUD is all around (sniff).
In reply to Jonathan CorbetIt'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.'
Quoted 25 lines · Jonathan Corbet
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/133671For 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
[email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/