Actually, I just relooked at the email I sent and it looks correct (properly indented, etc.). Any suggestions for what might be going on?
On Tue, Dec 16, 2014 at 1:18 PM, Jay Rolette <rolette at infiniteio.com> wrote: > > Thanks Konstantin. Yes, I'll resend. Not sure why gmail is removing > whitespace when I sent in Plain Text mode. > > Ultimately I'll need to figure out how to properly configure git to send > these directly instead of handling them more manually. The examples I saw > assumed you were using a gmail.com email rather than a corporate email > hosted via google apps. > > Jay > > On Tue, Dec 16, 2014 at 12:39 PM, Ananyev, Konstantin < > konstantin.ananyev at intel.com> wrote: >> >> >> Hi Jay, >> >> > -----Original Message----- >> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jay Rolette >> > Sent: Thursday, December 11, 2014 4:06 PM >> > To: Dev >> > Subject: [dpdk-dev] [PATCH] replaced O(n^2) sort in sort_by_physaddr() >> with qsort() from standard library >> > >> > Signed-off-by: Jay Rolette <rolette at infiniteio.com> >> >> The patch itself looks good to me. >> Though it seems something wrong with formatting - all lines start with >> offset 0. >> Probably your mail client? >> Konstantin >> >> >> > --- >> > lib/librte_eal/linuxapp/eal/eal_memory.c | 59 >> > +++++++++++--------------------- >> > 1 file changed, 20 insertions(+), 39 deletions(-) >> > >> > diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c >> > b/lib/librte_eal/linuxapp/eal/eal_memory.c >> > index bae2507..3656515 100644 >> > --- a/lib/librte_eal/linuxapp/eal/eal_memory.c >> > +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c >> > @@ -670,6 +670,25 @@ error: >> > return -1; >> > } >> > >> > +static int >> > +cmp_physaddr(const void *a, const void *b) >> > +{ >> > +#ifndef RTE_ARCH_PPC_64 >> > + const struct hugepage_file *p1 = (const struct hugepage_file *)a; >> > + const struct hugepage_file *p2 = (const struct hugepage_file *)b; >> > +#else >> > + // PowerPC needs memory sorted in reverse order from x86 >> > + const struct hugepage_file *p1 = (const struct hugepage_file *)b; >> > + const struct hugepage_file *p2 = (const struct hugepage_file *)a; >> > +#endif >> > + if (p1->physaddr < p2->physaddr) >> > + return -1; >> > + else if (p1->physaddr > p2->physaddr) >> > + return 1; >> > + else >> > + return 0; >> > +} >> > + >> > /* >> > * Sort the hugepg_tbl by physical address (lower addresses first on >> x86, >> > * higher address first on powerpc). We use a slow algorithm, but we >> won't >> > @@ -678,45 +697,7 @@ error: >> > static int >> > sort_by_physaddr(struct hugepage_file *hugepg_tbl, struct hugepage_info >> > *hpi) >> > { >> > - unsigned i, j; >> > - int compare_idx; >> > - uint64_t compare_addr; >> > - struct hugepage_file tmp; >> > - >> > - for (i = 0; i < hpi->num_pages[0]; i++) { >> > - compare_addr = 0; >> > - compare_idx = -1; >> > - >> > - /* >> > - * browse all entries starting at 'i', and find the >> > - * entry with the smallest addr >> > - */ >> > - for (j=i; j< hpi->num_pages[0]; j++) { >> > - >> > - if (compare_addr == 0 || >> > -#ifdef RTE_ARCH_PPC_64 >> > - hugepg_tbl[j].physaddr > compare_addr) { >> > -#else >> > - hugepg_tbl[j].physaddr < compare_addr) { >> > -#endif >> > - compare_addr = hugepg_tbl[j].physaddr; >> > - compare_idx = j; >> > - } >> > - } >> > - >> > - /* should not happen */ >> > - if (compare_idx == -1) { >> > - RTE_LOG(ERR, EAL, "%s(): error in physaddr sorting\n", __func__); >> > - return -1; >> > - } >> > - >> > - /* swap the 2 entries in the table */ >> > - memcpy(&tmp, &hugepg_tbl[compare_idx], >> > - sizeof(struct hugepage_file)); >> > - memcpy(&hugepg_tbl[compare_idx], &hugepg_tbl[i], >> > - sizeof(struct hugepage_file)); >> > - memcpy(&hugepg_tbl[i], &tmp, sizeof(struct hugepage_file)); >> > - } >> > + qsort(hugepg_tbl, hpi->num_pages[0], sizeof(struct hugepage_file), >> > cmp_physaddr); >> > return 0; >> > } >> > >> > -- >> >