Thread (51 messages) 51 messages, 7 authors, 2023-10-28

Re: [PATCH v2 28/39] timekeeping: Fix a circular include dependency

From: Kent Overstreet <kent.overstreet@linux.dev>
Date: 2023-10-26 23:54:50
Also in: cgroups, linux-arch, linux-doc, linux-fsdevel, linux-iommu, linux-mm, lkml

On Fri, Oct 27, 2023 at 01:05:48AM +0200, Thomas Gleixner wrote:
On Thu, Oct 26 2023 at 18:33, Suren Baghdasaryan wrote:
quoted
On Wed, Oct 25, 2023 at 5:33 PM Thomas Gleixner [off-list ref] wrote:
quoted
quoted
This avoids a circular header dependency in an upcoming patch by only
making hrtimer.h depend on percpu-defs.h
What's the actual dependency problem?
Sorry for the delay.
When we instrument per-cpu allocations in [1] we need to include
sched.h in percpu.h to be able to use alloc_tag_save(). sched.h
Including sched.h in percpu.h is fundamentally wrong as sched.h is the
initial place of all header recursions.

There is a reason why a lot of funtionalitiy has been split out of
sched.h into seperate headers over time in order to avoid that.
Yeah, it's definitely unfortunate. The issue here is that
alloc_tag_save() needs task_struct - we have to pull that in for
alloc_tag_save() to be inline, which we really want.

What if we moved task_struct to its own dedicated header? That might be
good to do anyways...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help