The NetBSD Project

CVS log for src/sys/kern/subr_pcu.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.14 / (download) - annotate - [select for diffs], Mon Dec 31 01:20:05 2012 UTC (4 months, 2 weeks ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, tls-maxphys-nbase, tls-maxphys-base, khorben-n900, agc-symver-base, agc-symver, HEAD
Changes since 1.13: +2 -3 lines
Diff to previous 1.13 (colored)

Remove a debugging printf

Revision 1.13 / (download) - annotate - [select for diffs], Wed Dec 26 18:30:23 2012 UTC (4 months, 2 weeks ago) by matt
Branch: MAIN
Changes since 1.12: +117 -26 lines
Diff to previous 1.12 (colored)

Add support for kernel-based code to use a PCU.  (for memory to memory
copies or in_cksum or ...)

Revision 1.12 / (download) - annotate - [select for diffs], Thu Aug 30 02:24:48 2012 UTC (8 months, 2 weeks ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

KASSERT -> KASSERTMSG

Revision 1.11 / (download) - annotate - [select for diffs], Wed Apr 18 13:43:13 2012 UTC (12 months, 4 weeks ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base5, jmcneill-usbmp-base9, jmcneill-usbmp-base10
Changes since 1.10: +25 -6 lines
Diff to previous 1.10 (colored)

comment

Revision 1.10 / (download) - annotate - [select for diffs], Tue Sep 27 01:02:39 2011 UTC (19 months, 3 weeks ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.9: +4 -4 lines
Diff to previous 1.9 (colored)

Modify *ASSERTMSG() so they are now used as variadic macros. The main goal
is to provide routines that do as KASSERT(9) says: append a message
to the panic format string when the assertion triggers, with optional
arguments.

Fix call sites to reflect the new definition.

Discussed on tech-kern@. See
http://mail-index.netbsd.org/tech-kern/2011/09/07/msg011427.html

Revision 1.9 / (download) - annotate - [select for diffs], Mon Jun 13 21:32:42 2011 UTC (23 months ago) by matt
Branch: MAIN
Changes since 1.8: +13 -4 lines
Diff to previous 1.8 (colored)

Deal with PCU state when performing coredumps.  As the kernel moves each LWP
into LSSUSPENDED state, have that LWP save its PCU state for the coredump and
release its PCU status since its probably going to be exiting very soon.
Make pcu_save_all tolerate for being called for non-curlwp if that lwp belongs
to the same process, has a state of LSSUSPENDED, and no PCUs are in use.

Make the MD coredump code use pcu_save_all(l) since it'll need to save all
the PCU state anyways and can take advantage of the above tests.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Jun 7 17:51:58 2011 UTC (23 months, 1 week ago) by matt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

Make pcu_save_all and pcu_discard_all KASSERTs accept LW_SYSTEM threads
since kthread_create will call lwp_create with lwp0 which may not be curlwp.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jun 6 22:04:34 2011 UTC (23 months, 1 week ago) by matt
Branch: MAIN
Changes since 1.6: +64 -3 lines
Diff to previous 1.6 (colored)

Add some more MI hook points for PCU.  Discard the PCU state at lwp_exit and
at exec time.  Before forking, save the PCU state so that cpu_lwp_fork
doesn't have.  Remove MD code which did that before.

Revision 1.6 / (download) - annotate - [select for diffs], Mon May 2 06:33:16 2011 UTC (2 years ago) by matt
Branch: MAIN
CVS Tags: cherry-xenmp-base
Branch point for: jruoho-x86intr, cherry-xenmp
Changes since 1.5: +9 -6 lines
Diff to previous 1.5 (colored)

Don't call pcu_do_op in pcu_load to save current context, use pcu_cpu_op
instead (since it will deal with ci->ci_pcu_curlwp[id] being NULL).

Revision 1.5 / (download) - annotate - [select for diffs], Mon May 2 01:43:37 2011 UTC (2 years ago) by matt
Branch: MAIN
Changes since 1.4: +5 -5 lines
Diff to previous 1.4 (colored)

A little more constification

Revision 1.4 / (download) - annotate - [select for diffs], Mon May 2 00:29:53 2011 UTC (2 years ago) by rmind
Branch: MAIN
Changes since 1.3: +60 -31 lines
Diff to previous 1.3 (colored)

Extend PCU:
- Add pcu_ops_t::pcu_state_release() operation for PCU_RELEASE case.
- Add pcu_switchpoint() to perform release operation on context switch.
- Sprinkle const, misc.  Also, sync MIPS with changes.

Per discussions with matt@.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Feb 19 20:19:54 2011 UTC (2 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Branch point for: rmind-uvmplock, bouyer-quota2
Changes since 1.2: +6 -2 lines
Diff to previous 1.2 (colored)

Default PCU_UNIT_COUNT to 0.  If 0, don't compile the contents of subr_pcu.c
and don't include the pcu related members into struct lwp.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Feb 17 18:44:54 2011 UTC (2 years, 2 months ago) by matt
Branch: MAIN
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

Add a bool to pcu_state_save which indicates whether the PCU is going to be
released after the save is done.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 17 18:32:29 2011 UTC (2 years, 2 months ago) by rmind
Branch: MAIN

Add PCU (Per-CPU Unit) - an interface to manage synchronization of any
per CPU context tied with an LWP.  Main use - lazy FPU handling on SMP.

Requested by matt@, will be used on mips64.  Note: implementation will
be improved to use IPIs before adopting on x86.  OK ad@.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>