lkml.org 
[lkml]   [2004]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] rc3-mm1 - /proc/ide/HWIF for modular IDE
Date
On Wednesday 04 of February 2004 20:44, Andrey Borzenkov wrote:
> On Tue, Feb 03, 2004 at 09:39:24PM +0100, Bartlomiej Zolnierkiewicz wrote:
> > On Tuesday 03 of February 2004 20:48, Andrey Borzenkov wrote:
> > > currently /proc/ide/HWIF are created in one shot during initialization
> > > or in ide-generic meaning that for modular IDE you must include
> > > ide-generic.
> > >
> > > this adds per-hwif registration currently for PCI only (that is what I
> > > can test); if this is OK I will make create_proc_ide_interfaces static
> > > and replace it with create_proc_ide_interface where appropriate.
> > >
> > > this also makes /proc/ide entries for PCI chipset be correctly created
> > >
> > > -andrey
> >
> > @@ -801,6 +805,12 @@ void ide_pci_register_host_proc (ide_pci
> > tmp->next = p;
> > } else
> > ide_pci_host_proc_list = p;
> > +
> > + if (proc_ide_root) {
> > + p->parent = proc_ide_root;
> > + create_proc_info_entry(p->name, 0, p->parent, p->get_info);
> > + p->set = 2;
> > + }
> > }
> >
> > You should add p->get_info only _after_ all hwifs of a host are probed,
> > just like non-modular code does it. Otherwise you are opening new races.

My previous comment is (probably) wrong :-).
I've just checked all PCI drivers and don't see anything preventing this.

> > @@ -659,6 +659,10 @@ bypass_legacy_dma:
> > */
> > d->init_hwif(hwif);
> >
> > +#ifdef CONFIG_PROC_FS
> > + create_proc_ide_interface(hwif);
> > +#endif
> > +
> > mate = hwif;
> > at_least_one_hwif_enabled = 1;
> > }
> >
> > Same problem as above.
>
> oh :( is it possible to do it in probe_hwif_init? it would be most
> logical place.

It is not logical place - you got 1 <chipset> /proc entry per PCI device(s).
ide_pci_register_host_proc() (as done in first patch) is more logical.

> > ide_setup_pci_device()+ide_setup_pci_devices() are correct places
> > to add registering of /proc/ide/<chipset> and /proc/ide/<hwif>.
>
> this patch does it for <hwif>
>
> > Even better - you may fix every PCI driver to add these entries
> > itself and remove these silly ide_pci_host_proc_t-s :-).
>
> I'll see. what are those races and are they inherently unfixable?

ie. if <hwif> entry is registered before second (serialized) port is probed,
see proc_ide_write_config() for details.

Thanks,
--bart

-
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/

\
 
 \ /
  Last update: 2005-03-22 14:00    [W:1.567 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site