mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: John Levon <levon@movementarian.org>
To: linux-kernel@vger.kernel.org, mingo@redhat.com
Subject: load_LDT_nolock jumped up in the profiles in test4-mm6
Date: Sun, 7 Sep 2003 22:51:16 +0100	[thread overview]
Message-ID: <20030907215116.GA20847@compsoc.man.ac.uk> (raw)


I'm running wine under test4-mm6. A new entry has appeared on oprofile's
vmlinux output :

 c01133e0 183433    1.1259     13868     1.8282     load_LDT_nolock

(that's 1.12% of CPU time and 1.8% icache misses). It didn't even register a
sample in Linus' kernel.

Annotation :

    278                                :void load_LDT_nolock(mm_context_t *pc, int cpu)
    279  12064  0.0523  3304  0.3166   :{ /* load_LDT_nolock total: 245997  1.0662 18382  1.7615 */
    280    629  0.0027   222  0.0213   :        struct page **pages = pc->ldt_pages;
    281   1108  0.0048   327  0.0313   :        int count = pc->size;
    282                                :        int nr_pages, i;
    283                                :
    284    646  0.0028   203  0.0195   :        if (likely(!count)) {
    285     45 2.0e-04     8 7.7e-04   :                pages = &default_ldt_page;
    286    622  0.0027   175  0.0168   :                count = 5;
    287                                :        }
    288   1344  0.0058   475  0.0455   :        nr_pages = (count*LDT_ENTRY_SIZE + PAGE_SIZE-1) / PAGE_SIZE;
    289                                :
    290  69520  0.3013  4288  0.4109   :        for (i = 0; i < nr_pages; i++) {
    291                                :                __kunmap_atomic_type(KM_LDT_PAGE0 - i);
    292                                :                __kmap_atomic(pages[i], KM_LDT_PAGE0 - i);
    293                                :        }
    294                                :        set_ldt_desc(cpu, (void *)__kmap_atomic_vaddr(KM_LDT_PAGE0), count);
    295      1 4.3e-06     0 0.0e+00   :        load_LDT_desc();
    296  43320  0.1878  1041  0.0998   :}


and for the __kmap_atomic :

     61                                :        /*
     62                                :         * Performance optimization - do not flush if the new
     63                                :         * pte is the same as the old one:
     64                                :         */
     65  69716  0.3022  2601  0.2492   :        if (pte_val(*(kmap_pte-idx)) == pte_val(mk_pte(page, kmap_prot)))
     66                                :                return (void *) vaddr;
     67                                :#endif
     68    309  0.0013    29  0.0028   :        set_pte(kmap_pte-idx, mk_pte(page, kmap_prot));
     69   1568  0.0068    59  0.0057   :        __flush_tlb_one(vaddr);
     70                                :

Obviously, I do not have any of the high mem options on at all.

Is there a fix for the overhead ?

regards
john

             reply	other threads:[~2003-09-07 21:51 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-07 21:51 John Levon [this message]
2003-09-08  8:42 ` Arjan van de Ven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030907215116.GA20847@compsoc.man.ac.uk \
    --to=levon@movementarian.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome