Home | History | Annotate | Download | only in altq
History log of /src/sys/altq/altq_subr.c
RevisionDateAuthorComments
 1.34  08-Jan-2025  joe return: remove parenthesis from return statements
 1.33  14-Mar-2017  ozaki-r branches: 1.33.46;
Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static
 1.32  20-Jun-2016  knakahara branches: 1.32.2; 1.32.4;
apply if_start_lock() to L2 callers which call ifp->if_start() of device derivers
 1.31  12-May-2016  ozaki-r Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.
 1.30  20-Apr-2016  knakahara IFQ_ENQUEUE refactor (2/3) : eliminate pktattr argument from altq implemantation
 1.29  17-May-2014  rmind branches: 1.29.4;
- Move IFNET_*() macros under #ifdef _KERNEL.
- Replace TAILQ_FOREACH on ifnet with IFNET_FOREACH().
 1.28  04-Jan-2009  pooka branches: 1.28.24; 1.28.28; 1.28.38;
add braces for symmetry
 1.27  25-Nov-2008  tsutsui Use binuptime(9) and emulate 1GiHz (2^30) counter rather than
nanouptime(9) and 1GHz counter to avoid extra rescaling.
Suggested and reviewed by kardel@.
 1.26  25-Nov-2008  tsutsui In machclk functions always emulate 1GHz counter using nanotime(9)
since it has enough resolution via timecounter(9).
Using machine dependent cpu_counter() is not MP safe
and it won't work even on UP with Speedstep etc.

No particular comment on tech-kern, and also closes PR kern/39835.
 1.25  10-May-2008  ad branches: 1.25.4; 1.25.6; 1.25.8;
Use MI cpu_counter() interface.
 1.24  19-Oct-2007  ad branches: 1.24.16; 1.24.18; 1.24.20; 1.24.22;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.23  04-Sep-2007  pooka branches: 1.23.4;
init tbr_callout in all cases (hi ad!)
 1.22  09-Jul-2007  ad branches: 1.22.2; 1.22.6; 1.22.8;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.21  05-Mar-2007  he branches: 1.21.2; 1.21.4;
Use mtod(m, char*) when doing pointer arithmetic on the result.
Patch from Andreas Wrede.
 1.20  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.19  16-Nov-2006  christos branches: 1.19.4;
__unused removal on arguments; approved by core.
 1.18  15-Oct-2006  peter Don't enable ALTQ in altq_pfattach. Enabling/disabling of ALTQ is already
done in the pf(4) code (pf_ioctl.c).

From OpenBSD.
 1.17  13-Oct-2006  peter Only compile in pf specific code when pf is configured.
Fixes kernel build when ALTQ is configured and pf not.
 1.16  12-Oct-2006  peter Merge the peter-altq branch.

(sync with KAME & add support for using ALTQ with pf(4)).
 1.15  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.14  23-Apr-2006  christos branches: 1.14.8; 1.14.10;
Use malloc/free instead of MALLOC/FREE and M_ZERO instead of memset.
 1.13  11-Dec-2005  christos branches: 1.13.4; 1.13.6; 1.13.8; 1.13.10; 1.13.12;
merge ktrace-lwp.
 1.12  26-Feb-2005  perry branches: 1.12.4;
nuke trailing whitespace
 1.11  13-Feb-2004  wiz branches: 1.11.8; 1.11.10;
Uppercase CPU, plural is CPUs.
 1.10  09-Nov-2003  christos - kill bzero/bcopy
- defopt stats and settings, removing their definitions from the files
- make code compile by eliminating multicharacter constants!?! and rearranging
variable declarations so they are defined before used!?!
- help gcc with uninitialized variables
 1.9  09-Oct-2002  jdolecek branches: 1.9.6;
replace cpu_tsc_freq with curcpu()->ci_tsc_freq
 1.8  05-Mar-2002  itojun bring in latest ALTQ from kjc. ALTQify some of the drivers.
 1.7  12-Nov-2001  lukem add RCSIDs
 1.6  10-Sep-2001  itojun fix IPv4 fragment handling in the classifier.
report and fix by "Paul Koster" <list@kosteronline.net>
sync with kame
 1.5  13-Apr-2001  thorpej branches: 1.5.2; 1.5.4;
Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
 1.4  14-Dec-2000  thorpej branches: 1.4.2; 1.4.4;
Don't need <vm/vm.h> (it doesn't exist in -current).
 1.3  14-Dec-2000  thorpej No need to wrap these in #ifdef ALTQ -- they're not even included
if ALTQ is not configured into the kernel.
 1.2  14-Dec-2000  thorpej Add NetBSD RCS IDs.
 1.1  14-Dec-2000  thorpej branches: 1.1.1;
Initial revision
 1.1.1.1  14-Dec-2000  thorpej Import ALTQ from KAME.
 1.4.4.5  18-Oct-2002  nathanw Catch up to -current.
 1.4.4.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.4.3  14-Nov-2001  nathanw Catch up to -current.
 1.4.4.2  21-Sep-2001  nathanw Catch up to -current.
 1.4.4.1  21-Jun-2001  nathanw Catch up to -current.
 1.4.2.3  21-Apr-2001  bouyer Sync with HEAD
 1.4.2.2  05-Jan-2001  bouyer Sync with HEAD
 1.4.2.1  14-Dec-2000  bouyer file altq_subr.c was added on branch thorpej_scsipi on 2001-01-05 17:39:37 +0000
 1.5.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.5.2.3  16-Mar-2002  jdolecek Catch up with -current.
 1.5.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.9.6.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.9.6.1  03-Aug-2004  skrll Sync with HEAD
 1.11.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.11.8.1  29-Apr-2005  kent sync with -current
 1.12.4.4  27-Oct-2007  yamt sync with head.
 1.12.4.3  03-Sep-2007  yamt sync with head.
 1.12.4.2  30-Dec-2006  yamt sync with head.
 1.12.4.1  21-Jun-2006  yamt sync with head.
 1.13.12.2  09-Jun-2006  peter Merge 2006-05-24 NetBSD-current into the peter-altq branch.
 1.13.12.1  18-Mar-2006  peter Sync with KAME.
 1.13.10.1  11-May-2006  elad sync with head
 1.13.8.1  24-May-2006  yamt sync with head.
 1.13.6.1  01-Jun-2006  kardel Sync with head.
 1.13.4.1  09-Sep-2006  rpaulo sync with head
 1.14.10.2  10-Dec-2006  yamt sync with head.
 1.14.10.1  22-Oct-2006  yamt sync with head
 1.14.8.1  18-Nov-2006  ad Sync with head.
 1.19.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.21.4.1  11-Jul-2007  mjf Sync with head.
 1.21.2.3  23-Oct-2007  ad Sync with head.
 1.21.2.2  09-Oct-2007  ad Sync with head.
 1.21.2.1  01-Jul-2007  ad Adapt to callout API change.
 1.22.8.1  06-Nov-2007  matt sync with HEAD
 1.22.6.2  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.22.6.1  02-Oct-2007  joerg Sync with HEAD.
 1.22.2.1  10-Sep-2007  skrll Sync with HEAD.
 1.23.4.1  25-Oct-2007  bouyer Sync with HEAD.
 1.24.22.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.24.20.2  04-May-2009  yamt sync with head.
 1.24.20.1  16-May-2008  yamt sync with head.
 1.24.18.1  18-May-2008  yamt sync with head.
 1.24.16.2  17-Jan-2009  mjf Sync with HEAD.
 1.24.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.25.8.2  01-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #152):
sys/altq/altq_subr.c: revision 1.27
Use binuptime(9) and emulate 1GiHz (2^30) counter rather than
nanouptime(9) and 1GHz counter to avoid extra rescaling.
Suggested and reviewed by kardel@.
 1.25.8.1  01-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #152):
sys/altq/altq_subr.c: revision 1.26
sys/altq/altq_var.h: revision 1.12
In machclk functions always emulate 1GHz counter using nanotime(9)
since it has enough resolution via timecounter(9).
Using machine dependent cpu_counter() is not MP safe
and it won't work even on UP with Speedstep etc.
No particular comment on tech-kern, and also closes PR kern/39835.
 1.25.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.25.4.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.28.38.1  10-Aug-2014  tls Rebase.
 1.28.28.1  17-Jul-2013  rmind Checkpoint work in progress:
- Move PCB structures under __INPCB_PRIVATE, adjust most of the callers
and thus make IPv4 PCB structures mostly opaque. Any volunteers for
merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)?
- Move various global vars to the modules where they belong, make them static.
- Some preliminary work for IPv4 PCB locking scheme.
- Make raw IP code mostly MP-safe. Simplify some of it.
- Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe. It should
run from a software interrupt, rather than hard.
- Rework tun(4) pseudo interface to be MP-safe.
- Work towards making some other interfaces more strict.
 1.28.24.2  03-Dec-2017  jdolecek update from HEAD
 1.28.24.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.4.4  28-Aug-2017  skrll Sync with HEAD
 1.29.4.3  09-Jul-2016  skrll Sync with HEAD
 1.29.4.2  29-May-2016  skrll Sync with HEAD
 1.29.4.1  22-Apr-2016  skrll Sync with HEAD
 1.32.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.32.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.33.46.1  11-Nov-2023  thorpej branches: 1.33.46.1.2;
Mostly de-tangle ifnet::if_snd from ifaltq, in a way that's minimally-
invasive to the ALTQ code itself.

The point of this is to lay the groundwork for future changes to ifqueue,
which among other benefits, will also hide the ALTQ ABI from drivers.
 1.33.46.1.2.1  15-Nov-2023  thorpej Protect the ALTQ state that's exposed to the ifqueue if the ifq->ifq_lock.
This requires exposing some implementation details to ALTQ, which is guarded
by an __IFQ_PRIVATE define.

RSS XML Feed