site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=3uyKho2x5AsRzFwQlWE1EOxTBoBb5S2FcYUjjYifC80=; b=n/VEP4497ykOT61VWKcrGybJb1Y717D5g0/RrJEtdRrYV83ATX0zB5xXb/xf9gq6R/ Nusl2xGjWmFbd6jzmiEWA9xaqCG8o7xUBtcwjJfzgS8/az6SZehzGVFxFu6dzdXKuCM4 +tFFuC5KL7wZddAyDBz6MtOfV2ByerMbXMyuQ= Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=TIAoeJcFIvT1DCIebp+ypPm0wrNsJDeCUG20ksqv+GdsxlvX7mD+cgYvgtCHmkKJms /Or2RnrrCvUKE4Jvey5+ShZJ/rYDxKKex47pp/3vNTbwj3GKVXhfqqKv4wn5p27ZAPWi NIuuW49f5xShYWaEYU6fRTpU3rPqPLXPGCfRg= How does the VFS determine the pages to fetch and the number of pages? One run may give me (head -10 ...) __LINKEDIT, __symtab = 2 pages, 5016 pages in __LINKEDIT, __symtab = 2 pages, 5018 pages in __DATA, __const = 4 pages, 4850 pages in __DATA, __const = 4 pages, 4854 pages in __DATA, __const = 4 pages, 4858 pages in __DATA, __const = 4 pages, 4862 pages in __DATA, __const = 4 pages, 4866 pages in whereas another run __LINKEDIT, __symtab = 2 pages, 5016 pages in __DATA, __const = 5 pages, 4921 pages in __DATA, __const = 6 pages, 4956 pages in __DATA, __data = 7 pages, 4998 pages in __TEXT, __const = 40 pages, 256 pages in __TEXT, __cstring = 44 pages, 307 pages in __TEXT, __text = 73 pages, 2390 pages in Thanks, Joel [1] xul-pageins.d fbt::vnode_pagein:entry { self->v_name = stringof(((vnode_t)arg0)->v_name); } fbt::vnode_pagein:entry /self->v_name == "XUL"/ { printf("vnode_pagein: %s, offset: %u, size: %u\n", self->v_name, arg3, arg4); } --- firefox for android! http://wagerlabs.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... I reboot and run Firefox using the same arguments but get completely different page-in patterns every time. Why does this happen and how does this work? I'm trying to optimize disk access during cold startup of Firefox and I thought I'd reorder the symbols in the dylib by time. I determined that the function call chain during startup is A, B, C, D, E, F. I assumed that by ordering the symbols this way I'll get sequential disk access which doesn't seem to be the case. I monitor page-ins using a simple dtrace script [1]. I then translate these page-ins to actual segments and sections of the XUL dynamic library using the output from 'size -m -l XUL'. Where in the kernel is the logic that's applied here and what's the proper way to optimize my disk access? This email sent to site_archiver@lists.apple.com