All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	James Clark <james.clark@arm.com>,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	Colin Ian King <colin.i.king@gmail.com>,
	nabijaczleweli@nabijaczleweli.xyz, Leo Yan <leo.yan@linux.dev>,
	Song Liu <song@kernel.org>,
	Ilkka Koskinen <ilkka@os.amperecomputing.com>,
	Ben Gainey <ben.gainey@arm.com>,
	K Prateek Nayak <kprateek.nayak@amd.com>,
	Yanteng Si <siyanteng@loongson.cn>,
	Sun Haiyong <sunhaiyong@loongson.cn>,
	Changbin Du <changbin.du@huawei.com>,
	Andi Kleen <ak@linux.intel.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Dima Kogan <dima@secretsauce.net>,
	zhaimingbing <zhaimingbing@cmss.chinamobile.com>,
	Paran Lee <p4ranlee@gmail.com>, Li Dong <lidong@vivo.com>,
	Tiezhu Yang <yangtiezhu@loongson.cn>,
	Yang Jihong <yangjihong1@huawei.com>,
	Chengen Du <chengen.du@canonical.com>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 1/7] perf dsos: Switch backing storage to array from rbtree/list
Date: Fri, 3 May 2024 17:21:08 -0300	[thread overview]
Message-ID: <ZjVHNB7pTKKWERFn@x1> (raw)
In-Reply-To: <20240429184614.1224041-2-irogers@google.com>

On Mon, Apr 29, 2024 at 11:46:08AM -0700, Ian Rogers wrote:
> DSOs were held on a list for fast iteration and in an rbtree for fast
> finds. Switch to using a lazily sorted array where iteration is just
> iterating through the array and binary searches are the same
> complexity as searching the rbtree. The find may need to sort the
> array first which does increase the complexity, but add operations
> have lower complexity and overall the complexity should remain about
> the same.

With just this first one applied:

⬢[acme@toolbox perf-tools-next]$ git log --oneline -10
325557715f1d8593 (HEAD) perf dsos: Switch backing storage to array from rbtree/list
7b6dd7a923281a7c perf pmu: Assume sysfs events are always the same case
6debc5aa326fa2ee perf test pmu: Test all sysfs PMU event names are the same case
18eb2ca8c18f0612 perf test pmu: Add an eagerly loaded event test
aa1551f299ba414c perf test pmu: Refactor format test and exposed test APIs
785623ee855e893d perf Document: Sysfs event names must be lower or upper case
97c48ea8ff1cd70f perf test pmu-events: Make it clearer that pmu-events tests JSON events
3cdd98b42d212160 (x1/perf-tools-next) perf maps: Remove check_invariants() from maps__lock()
e3123079b906dc2e perf cs-etm: Improve version detection and error reporting
bc5e0e1b93565e37 perf cs-etm: Remove repeated fetches of the ETM PMU
⬢[acme@toolbox perf-tools-next]$

root@number:~# perf -v
perf version 6.9.rc5.g325557715f1d
root@number:~# perf probe -l
DSO [kernel.kallsyms] is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/drivers/hid/hid-sensor-hub.ko.xz is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/drivers/hid/uhid.ko.xz is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/drivers/net/tun.ko.xz is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/fs/overlayfs/overlay.ko.xz is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/net/bluetooth/rfcomm/rfcomm.ko.xz is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/drivers/input/misc/uinput.ko.xz is still in rbtree when being deleted!
DSO /lib/modules/6.8.7-200.fc39.x86_64/kernel/sound/core/seq/snd-seq-dummy.ko.xz is still in rbtree when being deleted!
<SNIP a lot of other modules, probably all of them>

Then with:

65e1e704f37916a0 (HEAD -> perf-tools-next) perf dsos: Switch hand code to bsearch
64377d6b7d5f9a71 perf dsos: Remove __dsos__findnew_link_by_longname_id
8e773b8be95aff66 perf dsos: Remove __dsos__addnew
b1d064fc9b912ece perf dsos: Switch backing storage to array from rbtree/list

applied it continues like that, the next patch in line isn't applying.

I'll push what I have to tmp.perf-tools-next.

- Arnaldo

  reply	other threads:[~2024-05-03 20:21 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29 18:46 [PATCH v5 0/7] dso/dsos memory savings and clean up Ian Rogers
2024-04-29 18:46 ` [PATCH v5 1/7] perf dsos: Switch backing storage to array from rbtree/list Ian Rogers
2024-05-03 20:21   ` Arnaldo Carvalho de Melo [this message]
2024-05-04 18:14     ` Ian Rogers
2024-05-04 18:28       ` Arnaldo Carvalho de Melo
2024-04-29 18:46 ` [PATCH v5 2/7] perf dsos: Remove __dsos__addnew Ian Rogers
2024-04-29 18:46 ` [PATCH v5 3/7] perf dsos: Remove __dsos__findnew_link_by_longname_id Ian Rogers
2024-04-29 18:46 ` [PATCH v5 4/7] perf dsos: Switch hand code to bsearch Ian Rogers
2024-04-29 18:46 ` [PATCH v5 5/7] perf dso: Add reference count checking and accessor functions Ian Rogers
2024-04-29 18:46 ` [PATCH v5 6/7] perf dso: Reference counting related fixes Ian Rogers
2024-04-29 18:46 ` [PATCH v5 7/7] perf dso: Use container_of to avoid a pointer in dso_data Ian Rogers
2024-04-29 19:16 ` [PATCH v5 0/7] dso/dsos memory savings and clean up Arnaldo Carvalho de Melo
2024-04-29 19:50   ` Ian Rogers

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=ZjVHNB7pTKKWERFn@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=ben.gainey@arm.com \
    --cc=changbin.du@huawei.com \
    --cc=chengen.du@canonical.com \
    --cc=colin.i.king@gmail.com \
    --cc=dima@secretsauce.net \
    --cc=ilkka@os.amperecomputing.com \
    --cc=irogers@google.com \
    --cc=james.clark@arm.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=kprateek.nayak@amd.com \
    --cc=leo.yan@linux.dev \
    --cc=lidong@vivo.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=nabijaczleweli@nabijaczleweli.xyz \
    --cc=namhyung@kernel.org \
    --cc=p4ranlee@gmail.com \
    --cc=peterz@infradead.org \
    --cc=siyanteng@loongson.cn \
    --cc=song@kernel.org \
    --cc=sunhaiyong@loongson.cn \
    --cc=tmricht@linux.ibm.com \
    --cc=yangjihong1@huawei.com \
    --cc=yangtiezhu@loongson.cn \
    --cc=zhaimingbing@cmss.chinamobile.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.