lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060908185228.GA16197@humbolt.us.dell.com>
Date:	Fri, 8 Sep 2006 13:52:29 -0500
From:	Matt Domsch <Matt_Domsch@...l.com>
To:	Andrew Morton <akpm@...l.org>
Cc:	linux-pci@...ey.karlin.mff.cuni.cz, Greg KH <greg@...ah.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2.6.18-rc5] PCI: sort device lists breadth-first

On Fri, Sep 08, 2006 at 11:20:35AM -0700, Andrew Morton wrote:
> On Thu, 7 Sep 2006 22:14:22 -0500
> Matt Domsch <Matt_Domsch@...l.com> wrote:
> 
> > @@ -189,6 +189,8 @@ static int __init pcibios_init(void)
> >  
> >  	pcibios_resource_survey();
> >  
> > +	if (!(pci_probe & PCI_NO_SORT))
> > +		pci_sort_breadthfirst();
> >
> > ...
> >
> > --- a/drivers/pci/probe.c
> > +++ b/drivers/pci/probe.c
> > @@ -1055,3 +1055,95 @@ EXPORT_SYMBOL(pci_scan_bridge);
> >  EXPORT_SYMBOL(pci_scan_single_device);
> >  EXPORT_SYMBOL_GPL(pci_scan_child_bus);
> >  #endif
> > +
> > +static int pci_sort_bf_cmp(const struct pci_dev *a, const struct pci_dev *b)
> > +static void pci_insertion_sort_klist(struct pci_dev *a, struct list_head *list,
> > +static void pci_sort_breadthfirst_klist(void)
> > +static void pci_insertion_sort_devices(struct pci_dev *a, struct list_head *list,
> > +static void pci_sort_breadthfirst_devices(void)
> > +void pci_sort_breadthfirst(void)
> 
> I think all these functions can+should be __init?
> 
> > +extern void pci_sort_breadthfirst(void);
> 
> In which case this needs the __init tag too (new rule, due to frv (at least)).

Will fix up immediately.  I also see that it's making indirect calls
through the (*cmp)() pointer, which is interesting only of there's
other code that's going to be doing insertion sorting.  For now, a
direct call to the comparison function would be a little cleaner.

Thanks for the review!
Matt

-- 
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ