Re: [TOMOYO #14 (mmotm 2008-12-30-16-05) 02/10] Singly linked listimplementation.

From: James Morris
Date: Tue Jan 06 2009 - 04:11:43 EST


On Tue, 6 Jan 2009, Tetsuo Handa wrote:

>
> James Morris wrote:
> > This has a technical ack from Paul, but what about Linus' long-standing
> > objection to singly-linked lists in the kernel? I'm sure this has been
> > discussed re. your patches, but I can't find a reference.
> I couldn't find one neither. (What does "re." mean?)

http://en.wiktionary.org/wiki/re#Etymology_1

> But optimistically speaking, there are many in-tree users who define "struct"
> without "prev" pointer.
>
> # grep -hr 'struct [a-zA-Z0-9_]* \*next;' linux-2.6.28/include/linux/ | wc -l
> 42
> # grep -hr 'struct [a-zA-Z0-9_]* \*prev;' linux-2.6.28/include/linux/ | wc -l
> 7
>
> Not all structures listed below are used as singly linked list,
> but many of them are used as singly linked list.

Can any of these be converted to your singly linked list implementation ?

>
> struct sched_class;
> struct acpi_pci_driver;
> struct adb_request;
> struct atalk_route;
> struct core_thread;
> struct dma_async_tx_descriptor;
> struct erase_info;
> struct esp_pio_buffer;
> struct fdtable;
> struct floppy_raw_cmd;
> struct ftrace_ops;
> struct hdlc_proto;
> struct hwif_s;
> struct ippp_buf_queue;
> struct irqaction;
> struct isdn_net_local_s;
> struct kcore_list;
> struct mfc6_cache;
> struct mfc_cache;
> struct nls_table;
> struct notifier_block;
> struct page_list;
> struct pbe;
> struct phone_device;
> struct pnp_id;
> struct r3964_block_header;
> struct r3964_client_info;
> struct r3964_message;
> struct rcu_head;
> struct resource_list;
> struct sched_group;
> struct sdio_func_tuple;
> struct tasklet_struct;
> struct tty_buffer;
> struct xor_block_template;
>
> Thus, I believe it is acceptable that TOMOYO uses singly linked list
> unless Linus comes out and yell "No!".

He's yelled no in the past, so there needs to be a convincing argument
which he'll accept.


- James
--
James Morris
<jmorris@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/