No description
  • C 96.9%
  • Assembly 0.9%
  • Rust 0.6%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Linus Torvalds 7061835997 firewire updates for v6.17
This update replaces the remaining tasklet usage in the FireWire subsystem
 with workqueue for asynchronous packet transmission. With this change,
 tasklets are now fully eliminated from the subsystem.
 
 Asynchronous packet transmission is used for serial bus topology
 management as well as for the operation of the SBP-2 protocol driver
 (firewire-sbp2). To ensure reliability during low-memory conditions, the
 associated workqueue is created with the WQ_MEM_RECLAIM flag, allowing it
 to participate in memory reclaim paths. Other attributes are aligned with
 those used for isochronous packet handling, which was migrated to
 workqueues in v6.12.
 
 The workqueues are sleepable and support preemptible work items, making
 them more suitable for real-time workloads that benefit from timely task
 preemption at the system level.
 
 There remains an issue where 'schedule()' may be called within an RCU
 read-side critical section, due to a direct replacement of
 'tasklet_disable_in_atomic()' with 'disable_work_sync()'. A proposed fix
 for this has been posted[1], and is currently under review and testing.
 It is expected to be sent upstream later.
 
  [1] https://lore.kernel.org/lkml/20250728015125.17825-1-o-takashi@sakamocchi.jp/
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQE66IEYNDXNBPeGKSsLtaWM8LwEwUCaI2aWAAKCRCsLtaWM8Lw
 EwReAQDcgEHcH/EaPNPKdpInkzh0fH7kRcHZF4f2USsaHkKbSAEA6XvPWrwMAVC7
 Ap2w5x/BxoAL+NXz3yJHb3yoxcbKKAI=
 =NSJY
 -----END PGP SIGNATURE-----

Merge tag 'firewire-updates-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire updates from Takashi Sakamoto:
 "This update replaces the remaining tasklet usage in the FireWire
  subsystem with workqueue for asynchronous packet transmission. With
  this change, tasklets are now fully eliminated from the subsystem.

  Asynchronous packet transmission is used for serial bus topology
  management as well as for the operation of the SBP-2 protocol driver
  (firewire-sbp2). To ensure reliability during low-memory conditions,
  the associated workqueue is created with the WQ_MEM_RECLAIM flag,
  allowing it to participate in memory reclaim paths. Other attributes
  are aligned with those used for isochronous packet handling, which was
  migrated to workqueues in v6.12.

  The workqueues are sleepable and support preemptible work items,
  making them more suitable for real-time workloads that benefit from
  timely task preemption at the system level.

  There remains an issue where 'schedule()' may be called within an RCU
  read-side critical section, due to a direct replacement of
  'tasklet_disable_in_atomic()' with 'disable_work_sync()'. A proposed
  fix for this has been posted[1], and is currently under review and
  testing. It is expected to be sent upstream later"

Link: https://lore.kernel.org/lkml/20250728015125.17825-1-o-takashi@sakamocchi.jp/ [1]

* tag 'firewire-updates-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
  firewire: ohci: reduce the size of common context structure by extracting members into AT structure
  firewire: core: minor code refactoring to localize table of gap count
  firewire: ohci: use workqueue to handle events of AT request/response contexts
  firewire: ohci: use workqueue to handle events of AR request/response contexts
  firewire: core: allocate workqueue for AR/AT request/response contexts
  firewire: core: use from_work() macro to expand parent structure of work_struct
  firewire: ohci: use from_work() macro to expand parent structure of work_struct
  firewire: ohci: correct code comments about bus_reset tasklet
History 2025-08-02 09:52:53 -07:00
arch bpf-fixes 2025-08-01 17:13:26 -07:00
block Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto This update includes the following changes: 2025-07-31 09:45:28 -07:00
Documentation cxl for v6.17 2025-08-01 15:47:06 -07:00
drivers firewire updates for v6.17 2025-08-02 09:52:53 -07:00
fs 16 smb3/cifs client fixes 2025-07-31 21:22:04 -07:00
include firewire updates for v6.17 2025-08-02 09:52:53 -07:00
init sched_ext: Changes for v6.17 2025-07-31 16:29:46 -07:00
io_uring for-6.17/io_uring-20250728 2025-07-28 16:30:12 -07:00
ipc vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
kernel bpf-fixes 2025-08-01 17:13:26 -07:00
lib bitmap-for-6.17 2025-07-31 16:52:32 -07:00
LICENSES LICENSES: Replace the obsolete address of the FSF in the GFDL-1.2 2025-07-24 11:15:39 +02:00
mm cgroup: Changes for v6.17 2025-07-31 16:04:19 -07:00
net bpf-fixes 2025-08-01 17:13:26 -07:00
rust This is the usual collection of primarily clk driver updates. The big part of 2025-07-31 13:36:27 -07:00
samples Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
scripts Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
security integrity-v6.17 2025-07-31 11:42:11 -07:00
sound pci-v6.17-changes 2025-08-01 13:59:07 -07:00
tools bpf-fixes 2025-08-01 17:13:26 -07:00
usr usr/include: openrisc: don't HDRTEST bpf_perf_event.h 2025-05-12 15:03:17 +09:00
virt Merge tag 'kvm-x86-no_assignment-6.17' of https://github.com/kvm-x86/linux into HEAD 2025-07-29 08:36:42 -04:00
.clang-format Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
.clippy.toml rust: clean Rust 1.88.0's warning about clippy::disallowed_macros configuration 2025-05-07 00:11:47 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: Retire Ralf Baechle 2024-11-12 15:48:59 +01:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore gitignore: allow .pylintrc to be tracked 2025-07-02 17:10:04 -06:00
.mailmap [GIT PULL for v6.17] media updates 2025-07-31 13:16:09 -07:00
.pylintrc docs: add a .pylintrc file with sys path for docs scripts 2025-04-09 12:10:33 -06:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS mm: update MAINTAINERS entry for HMM 2025-07-19 19:26:16 -07:00
Kbuild drm: ensure drm headers are self-contained and pass kernel-doc 2025-02-12 10:44:43 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS pci-v6.17-changes 2025-08-01 13:59:07 -07:00
Makefile hardening updates for v6.17-rc1 2025-07-28 17:16:12 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.