<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/block/aoe/aoemain.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-09-09T15:11:31Z</updated>
<entry>
<title>drivers/block: WQ_PERCPU added to alloc_workqueue users</title>
<updated>2025-09-09T15:11:31Z</updated>
<author>
<name>Marco Crivellari</name>
</author>
<published>2025-09-05T08:51:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d7b1cdc9108f46f47a0899597d6fa270f64dd98c'/>
<id>urn:sha1:d7b1cdc9108f46f47a0899597d6fa270f64dd98c</id>
<content type='text'>
Currently if a user enqueue a work item using schedule_delayed_work() the
used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
schedule_work() that is using system_wq and queue_work(), that makes use
again of WORK_CPU_UNBOUND.
This lack of consistentcy cannot be addressed without refactoring the API.

alloc_workqueue() treats all queues as per-CPU by default, while unbound
workqueues must opt-in via WQ_UNBOUND.

This default is suboptimal: most workloads benefit from unbound queues,
allowing the scheduler to place worker threads where they’re needed and
reducing noise when CPUs are isolated.

This default is suboptimal: most workloads benefit from unbound queues,
allowing the scheduler to place worker threads where they’re needed and
reducing noise when CPUs are isolated.

This patch adds a new WQ_PERCPU flag to explicitly request the use of
the per-CPU behavior. Both flags coexist for one release cycle to allow
callers to transition their calls.

Once migration is complete, WQ_UNBOUND can be removed and unbound will
become the implicit default.

With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND),
any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND
must now use WQ_PERCPU.

All existing users have been updated accordingly.

Suggested-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Marco Crivellari &lt;marco.crivellari@suse.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>treewide: Switch/rename to timer_delete[_sync]()</title>
<updated>2025-04-05T08:30:12Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2025-04-05T08:17:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8fa7292fee5c5240402371ea89ab285ec856c916'/>
<id>urn:sha1:8fa7292fee5c5240402371ea89ab285ec856c916</id>
<content type='text'>
timer_delete[_sync]() replaces del_timer[_sync](). Convert the whole tree
over and remove the historical wrapper inlines.

Conversion was done with coccinelle plus manual fixups where necessary.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>aoe: Avoid flush_scheduled_work() usage</title>
<updated>2022-05-01T12:41:41Z</updated>
<author>
<name>Tetsuo Handa</name>
</author>
<published>2022-04-18T23:31:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b8d7622ab1859bec082bd01c5e11137195f3d52'/>
<id>urn:sha1:0b8d7622ab1859bec082bd01c5e11137195f3d52</id>
<content type='text'>
Flushing system-wide workqueues is dangerous and will be forbidden.
Replace system_wq with local aoe_wq.

Link: https://lkml.kernel.org/r/49925af7-78a8-a3dd-bce6-cfc02e1a9236@I-love.SAKURA.ne.jp
Signed-off-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Link: https://lore.kernel.org/r/abb37616-eec9-2794-e21e-7c623085d987@I-love.SAKURA.ne.jp
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>aoe: add __exit annotation</title>
<updated>2018-12-16T16:01:38Z</updated>
<author>
<name>Chengguang Xu</name>
</author>
<published>2018-12-16T06:08:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7cc005fef03d2b13246d800e497418d570ad6da'/>
<id>urn:sha1:e7cc005fef03d2b13246d800e497418d570ad6da</id>
<content type='text'>
Add __exit annotation to cleanup helper which
is only called once in the module.

Signed-off-by: Chengguang Xu &lt;cgxu519@gmx.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>block/aoe: discover_timer: Convert timers to use timer_setup()</title>
<updated>2017-11-06T20:50:09Z</updated>
<author>
<name>Kees Cook</name>
</author>
<published>2017-08-30T21:53:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ea22086ed42bef8dde93f45a42a3ace486eb788'/>
<id>urn:sha1:5ea22086ed42bef8dde93f45a42a3ace486eb788</id>
<content type='text'>
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

This refactors the discover_timer to remove the needless locking and
state machine used for synchronizing timer death. Using del_timer_sync()
will already do the right thing.

Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: "Ed L. Cashin" &lt;ed.cashin@acm.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>aoe: whitespace cleanup</title>
<updated>2012-12-18T01:15:24Z</updated>
<author>
<name>Ed Cashin</name>
</author>
<published>2012-12-18T00:03:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a04b41cd2c3ea39115a2d4f264773a5956a3318d'/>
<id>urn:sha1:a04b41cd2c3ea39115a2d4f264773a5956a3318d</id>
<content type='text'>
Signed-off-by: Ed Cashin &lt;ecashin@coraid.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>aoe: update copyright year in touched files</title>
<updated>2012-10-05T18:05:28Z</updated>
<author>
<name>Ed Cashin</name>
</author>
<published>2012-10-05T00:16:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fea05a26c3a215796b7a4fa5cbc25278d3e16d30'/>
<id>urn:sha1:fea05a26c3a215796b7a4fa5cbc25278d3e16d30</id>
<content type='text'>
Signed-off-by: Ed Cashin &lt;ecashin@coraid.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>aoe: kernel thread handles I/O completions for simple locking</title>
<updated>2012-10-05T18:05:24Z</updated>
<author>
<name>Ed Cashin</name>
</author>
<published>2012-10-05T00:16:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=896831f5909e2733c13c9cb13a1a215f10c3eaa8'/>
<id>urn:sha1:896831f5909e2733c13c9cb13a1a215f10c3eaa8</id>
<content type='text'>
Make the frames the aoe driver uses to track the relationship between bios
and packets more flexible and detached, so that they can be passed to an
"aoe_ktio" thread for completion of I/O.

The frames are handled much like skbs, with a capped amount of
preallocation so that real-world use cases are likely to run smoothly and
degenerate gracefully even under memory pressure.

Decoupling I/O completion from the receive path and serializing it in a
process makes it easier to think about the correctness of the locking in
the driver, especially in the case of a remote MAC address becoming
unusable.

[dan.carpenter@oracle.com: cleanup an allocation a bit]
Signed-off-by: Ed Cashin &lt;ecashin@coraid.com&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>aoe: Use SKB interfaces for list management instead of home-grown stuff.</title>
<updated>2008-09-22T05:36:49Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-09-22T05:36:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e9bb8fb0b6d61a822201537b25206a0ca34b9d1d'/>
<id>urn:sha1:e9bb8fb0b6d61a822201537b25206a0ca34b9d1d</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>aoe: update copyright date</title>
<updated>2008-02-08T17:22:32Z</updated>
<author>
<name>Ed L. Cashin</name>
</author>
<published>2008-02-08T12:20:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52e112b3ab6b2b35a144565c8ea3bdda1e2845f2'/>
<id>urn:sha1:52e112b3ab6b2b35a144565c8ea3bdda1e2845f2</id>
<content type='text'>
Update the year in the copyright notices.

Signed-off-by: Ed L. Cashin &lt;ecashin@coraid.com&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
