Searched hist:9 (Results 1 - 25 of 9553) sorted by relevance
/freebsd-11.0-release/share/man/man9/ | ||
H A D | tvtohz.9 | 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> |
H A D | microuptime.9 | 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> |
H A D | stack.9 | diff 287646 Fri Sep 11 04:02:30 MDT 2015 markj Document stack_save_td(9) and stack_save_td_running(9). Reviewed by: wblock Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3243 diff 287646 Fri Sep 11 04:02:30 MDT 2015 markj Document stack_save_td(9) and stack_save_td_running(9). Reviewed by: wblock Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3243 diff 194828 Wed Jun 24 12:17:57 MDT 2009 rwatson Add stack_print_short() and stack_print_short_ddb() interfaces to stack(9), which generate a more compact rendition of a stack trace via the kernel's printf. MFC after: 1 week diff 177168 Fri Mar 14 13:13:37 MDT 2008 rwatson Add stack_print_ddb() to the synposis of stack(9), add mlink for it; fix stack_print(9) mlink. Spotted by: attilio diff 177168 Fri Mar 14 13:13:37 MDT 2008 rwatson Add stack_print_ddb() to the synposis of stack(9), add mlink for it; fix stack_print(9) mlink. Spotted by: attilio diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
H A D | Makefile | diff 303549 Sat Jul 30 09:35:34 MDT 2016 kib MFC r303211: Implement mtx_trylock_spin(9). Approved by: re (gjb) diff 300317 Fri May 20 18:08:07 MDT 2016 jhb Add new bus methods for mapping resources. Add a pair of bus methods that can be used to "map" resources for direct CPU access using bus_space(9). bus_map_resource() creates a mapping and bus_unmap_resource() releases a previously created mapping. Mappings are described by 'struct resource_map' object. Pointers to these objects can be passed as the first argument to the bus_space wrapper API used for bus resources. Drivers that wish to map all of a resource using default settings (for example, using uncacheable memory attributes) do not need to change. However, drivers that wish to use non-default settings can now do so without jumping through hoops. First, an RF_UNMAPPED flag is added to request that a resource is not implicitly mapped with the default settings when it is activated. This permits other activation steps (such as enabling I/O or memory decoding in a device's PCI command register) to be taken without creating a mapping. Right now the AGP drivers don't set RF_ACTIVE to avoid using up a large amount of KVA to map the AGP aperture on 32-bit platforms. Once RF_UNMAPPED is supported on all platforms that support AGP this can be changed to using RF_UNMAPPED with RF_ACTIVE instead. Second, bus_map_resource accepts an optional structure that defines additional settings for a given mapping. For example, a driver can now request to map only a subset of a resource instead of the entire range. The AGP driver could also use this to only map the first page of the aperture (IIRC, it calls pmap_mapdev() directly to map the first page currently). I will also eventually change the PCI-PCI bridge driver to request mappings of the subset of the I/O window resource on its parent side to create mappings for child devices rather than passing child resources directly up to nexus to be mapped. This also permits bridges that do address translation to request suitable mappings from a resource on the "upper" side of the bus when mapping resources on the "lower" side of the bus. Another attribute that can be specified is an alternate memory attribute for memory-mapped resources. This can be used to request a Write-Combining mapping of a PCI BAR in an MI fashion. (Currently the drivers that do this call pmap_change_attr() directly for x86 only.) Note that this commit only adds the MI framework. Each platform needs to add support for handling RF_UNMAPPED and thew new bus_map/unmap_resource methods. Generally speaking, any drivers that are calling rman_set_bustag() and rman_set_bushandle() need to be updated. Discussed on: arch Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D5237 diff 296933 Wed Mar 16 08:45:24 MDT 2016 hselasky Improve the implementation and documentation of the SYSCTL_COUNTER_U64_ARRAY() macro. - Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks the size of the first element of the array. - Add an example to the counter(9) manual page how to use the SYSCTL_COUNTER_U64_ARRAY() macro. - Add some missing symbolic links for counter(9) while at it. diff 296933 Wed Mar 16 08:45:24 MDT 2016 hselasky Improve the implementation and documentation of the SYSCTL_COUNTER_U64_ARRAY() macro. - Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks the size of the first element of the array. - Add an example to the counter(9) manual page how to use the SYSCTL_COUNTER_U64_ARRAY() macro. - Add some missing symbolic links for counter(9) while at it. diff 296301 Wed Mar 02 04:59:07 MST 2016 markj Document m_catpkt(), and remove misinformation about m_cat(9). Since m_cat() may copy data from the second mbuf chain into the last mbuf of the first chain, it may free the first mbuf of the second chain. Thus, the second chain is not guaranteed to be valid after m_cat() returns. Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5497 diff 293346 Thu Jan 07 20:17:40 MST 2016 kib Provide yet another KPI for cdev creation, make_dev_s(9). Immediate problem fixed by the new KPI is the long-standing race between device creation and assignments to cdev->si_drv1 and cdev->si_drv2, which allows the window where cdevsw methods might be called with si_drv1,2 fields not yet set. Devices typically checked for NULL and returned spurious errors to usermode, and often left some methods unchecked. The new function interface is designed to be extensible, which should allow to add more features to make_dev_s(9) without inventing yet another name for function to create devices, while maintaining KPI and even KBI backward-compatibility. Reviewed by: hps, jhb Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D4746 diff 293346 Thu Jan 07 20:17:40 MST 2016 kib Provide yet another KPI for cdev creation, make_dev_s(9). Immediate problem fixed by the new KPI is the long-standing race between device creation and assignments to cdev->si_drv1 and cdev->si_drv2, which allows the window where cdevsw methods might be called with si_drv1,2 fields not yet set. Devices typically checked for NULL and returned spurious errors to usermode, and often left some methods unchecked. The new function interface is designed to be extensible, which should allow to add more features to make_dev_s(9) without inventing yet another name for function to create devices, while maintaining KPI and even KBI backward-compatibility. Reviewed by: hps, jhb Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D4746 diff 290475 Sat Nov 07 01:51:21 MST 2015 cem Round out SYSCTL macros to the full set of fixed-width types Add S8, S16, S32, and U32 types; add SYSCTL*() macros for them, as well as for the existing 64-bit types. (While SYSCTL*QUAD and UQUAD macros already exist, they do not take the same sort of 'val' parameter that the other macros do.) Clean up the documented "types" in the sysctl.9 document. (These are macros and thus not real types, but the manual page documents intent.) The sysctl_add_oid(9) arg2 has been bumped from intptr_t to intmax_t to accommodate 64-bit types on 32-bit pointer architectures. This is just the kernel support piece; the userspace sysctl(1) support will follow in a later patch. Submitted by: Ravi Pokala <rpokala@panasas.com> Reviewed by: cem Relnotes: no Sponsored by: Panasas Differential Revision: https://reviews.freebsd.org/D4091 diff 290475 Sat Nov 07 01:51:21 MST 2015 cem Round out SYSCTL macros to the full set of fixed-width types Add S8, S16, S32, and U32 types; add SYSCTL*() macros for them, as well as for the existing 64-bit types. (While SYSCTL*QUAD and UQUAD macros already exist, they do not take the same sort of 'val' parameter that the other macros do.) Clean up the documented "types" in the sysctl.9 document. (These are macros and thus not real types, but the manual page documents intent.) The sysctl_add_oid(9) arg2 has been bumped from intptr_t to intmax_t to accommodate 64-bit types on 32-bit pointer architectures. This is just the kernel support piece; the userspace sysctl(1) support will follow in a later patch. Submitted by: Ravi Pokala <rpokala@panasas.com> Reviewed by: cem Relnotes: no Sponsored by: Panasas Differential Revision: https://reviews.freebsd.org/D4091 diff 289831 Fri Oct 23 15:15:50 MDT 2015 cem sysctl(9): Document U8/U16 types from r289773 Suggested by: ngie Sponsored by: EMC / Isilon Storage Division |
H A D | socket.9 | diff 249412 Fri Apr 12 16:44:08 MDT 2013 trasz Fix usage for soreceive(9) - uio must always be non-NULL. MFC after: 1 week diff 165282 Sat Dec 16 10:32:10 MST 2006 rwatson Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4), ithread(9), msleep(9), ucred(9) from socket(9). Partly suggested by: julian diff 165282 Sat Dec 16 10:32:10 MST 2006 rwatson Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4), ithread(9), msleep(9), ucred(9) from socket(9). Partly suggested by: julian diff 165282 Sat Dec 16 10:32:10 MST 2006 rwatson Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4), ithread(9), msleep(9), ucred(9) from socket(9). Partly suggested by: julian diff 165282 Sat Dec 16 10:32:10 MST 2006 rwatson Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4), ithread(9), msleep(9), ucred(9) from socket(9). Partly suggested by: julian diff 165282 Sat Dec 16 10:32:10 MST 2006 rwatson Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4), ithread(9), msleep(9), ucred(9) from socket(9). Partly suggested by: julian 165264 Fri Dec 15 23:35:15 MST 2006 rwatson Add a basic man page for the socket(9) kernel programming interface used by the NFS client and server, netsmb, netncp, etc. Reviewed by: ru Fixed by: ru |
H A D | make_dev.9 | diff 296322 Wed Mar 02 19:32:06 MST 2016 bdrewery Remove self-reference to destroy_dev_drain(9). MFC after: 1 week diff 293346 Thu Jan 07 20:17:40 MST 2016 kib Provide yet another KPI for cdev creation, make_dev_s(9). Immediate problem fixed by the new KPI is the long-standing race between device creation and assignments to cdev->si_drv1 and cdev->si_drv2, which allows the window where cdevsw methods might be called with si_drv1,2 fields not yet set. Devices typically checked for NULL and returned spurious errors to usermode, and often left some methods unchecked. The new function interface is designed to be extensible, which should allow to add more features to make_dev_s(9) without inventing yet another name for function to create devices, while maintaining KPI and even KBI backward-compatibility. Reviewed by: hps, jhb Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D4746 diff 293346 Thu Jan 07 20:17:40 MST 2016 kib Provide yet another KPI for cdev creation, make_dev_s(9). Immediate problem fixed by the new KPI is the long-standing race between device creation and assignments to cdev->si_drv1 and cdev->si_drv2, which allows the window where cdevsw methods might be called with si_drv1,2 fields not yet set. Devices typically checked for NULL and returned spurious errors to usermode, and often left some methods unchecked. The new function interface is designed to be extensible, which should allow to add more features to make_dev_s(9) without inventing yet another name for function to create devices, while maintaining KPI and even KBI backward-compatibility. Reviewed by: hps, jhb Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D4746 diff 214277 Sun Oct 24 16:01:03 MDT 2010 jh Document make_dev_p(9). Reviewed by: brueffer, kib diff 213526 Thu Oct 07 18:05:59 MDT 2010 jh Check the device name validity on device registration. A new function prep_devname() sanitizes a device name by removing leading and redundant sequential slashes. The function returns an error for names which already exist or are considered invalid. A new flag MAKEDEV_CHECKNAME for make_dev_p(9) and make_dev_credf(9) indicates that the caller is prepared to handle an error related to the device name. An invalid name triggers a panic if the flag is not specified. Document the MAKEDEV_CHECKNAME flag in the make_dev(9) manual page. Idea from: kib Reviewed by: kib diff 213526 Thu Oct 07 18:05:59 MDT 2010 jh Check the device name validity on device registration. A new function prep_devname() sanitizes a device name by removing leading and redundant sequential slashes. The function returns an error for names which already exist or are considered invalid. A new flag MAKEDEV_CHECKNAME for make_dev_p(9) and make_dev_credf(9) indicates that the caller is prepared to handle an error related to the device name. An invalid name triggers a panic if the flag is not specified. Document the MAKEDEV_CHECKNAME flag in the make_dev(9) manual page. Idea from: kib Reviewed by: kib diff 213526 Thu Oct 07 18:05:59 MDT 2010 jh Check the device name validity on device registration. A new function prep_devname() sanitizes a device name by removing leading and redundant sequential slashes. The function returns an error for names which already exist or are considered invalid. A new flag MAKEDEV_CHECKNAME for make_dev_p(9) and make_dev_credf(9) indicates that the caller is prepared to handle an error related to the device name. An invalid name triggers a panic if the flag is not specified. Document the MAKEDEV_CHECKNAME flag in the make_dev(9) manual page. Idea from: kib Reviewed by: kib diff 207730 Thu May 06 19:28:52 MDT 2010 kib Document MAKEDEV_NOWAIT flag for make_dev_credf(9). Reviewed by: jh MFC after: 2 weeks diff 183442 Sun Sep 28 20:31:27 MDT 2008 ed Several documentation fixups related to device minor/major numbers: - Document the minor(3), major(3) and makedev(3) macro's. They also apply to umajor() and uminor() in the kernel, but hopefully we'll sort that out one day. - Briefly dev2unit() inside the make_dev(9) manual page, since this is now the preferred macro to obtain character device unit numbers inside the kernel. - Remove the device_ids(9) manual page. It contains highly inaccurate information, such as a description of the nonexistent major(). diff 183442 Sun Sep 28 20:31:27 MDT 2008 ed Several documentation fixups related to device minor/major numbers: - Document the minor(3), major(3) and makedev(3) macro's. They also apply to umajor() and uminor() in the kernel, but hopefully we'll sort that out one day. - Briefly dev2unit() inside the make_dev(9) manual page, since this is now the preferred macro to obtain character device unit numbers inside the kernel. - Remove the device_ids(9) manual page. It contains highly inaccurate information, such as a description of the nonexistent major(). |
H A D | rwlock.9 | diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 173887 Sun Nov 25 01:53:58 MST 2007 attilio Update rwlock(9) manpage adding missing bits about the rw_init_flags() function, its options and explaining that recursion for writers can be selectively enabled. Reported by: rwatson, Skip Ford <skip at menantico dot com> diff 168071 Fri Mar 30 18:07:26 MDT 2007 julian Add some cross references to locking.9 from related pages. diff 167387 Fri Mar 09 22:41:01 MST 2007 jhb Allow threads to atomically release rw and sx locks while waiting for an event. Locking primitives that support this (mtx, rw, and sx) now each include their own foo_sleep() routine. - Rename msleep() to _sleep() and change it's 'struct mtx' object to a 'struct lock_object' pointer. _sleep() uses the recently added lc_unlock() and lc_lock() function pointers for the lock class of the specified lock to release the lock while the thread is suspended. - Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks (rw_sleep()), and sx locks (sx_sleep()). msleep() still exists and is now identical to mtx_sleep(), but it is deprecated. - Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP. - Rewrite much of sleep.9 to not be msleep(9) centric. - Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS' section. - Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will warn if you try to pass a NULL wait channel. The functions already have a KASSERT to that effect. diff 167387 Fri Mar 09 22:41:01 MST 2007 jhb Allow threads to atomically release rw and sx locks while waiting for an event. Locking primitives that support this (mtx, rw, and sx) now each include their own foo_sleep() routine. - Rename msleep() to _sleep() and change it's 'struct mtx' object to a 'struct lock_object' pointer. _sleep() uses the recently added lc_unlock() and lc_lock() function pointers for the lock class of the specified lock to release the lock while the thread is suspended. - Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks (rw_sleep()), and sx locks (sx_sleep()). msleep() still exists and is now identical to mtx_sleep(), but it is deprecated. - Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP. - Rewrite much of sleep.9 to not be msleep(9) centric. - Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS' section. - Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will warn if you try to pass a NULL wait channel. The functions already have a KASSERT to that effect. diff 167387 Fri Mar 09 22:41:01 MST 2007 jhb Allow threads to atomically release rw and sx locks while waiting for an event. Locking primitives that support this (mtx, rw, and sx) now each include their own foo_sleep() routine. - Rename msleep() to _sleep() and change it's 'struct mtx' object to a 'struct lock_object' pointer. _sleep() uses the recently added lc_unlock() and lc_lock() function pointers for the lock class of the specified lock to release the lock while the thread is suspended. - Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks (rw_sleep()), and sx locks (sx_sleep()). msleep() still exists and is now identical to mtx_sleep(), but it is deprecated. - Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP. - Rewrite much of sleep.9 to not be msleep(9) centric. - Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS' section. - Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will warn if you try to pass a NULL wait channel. The functions already have a KASSERT to that effect. diff 167372 Fri Mar 09 16:54:03 MST 2007 jhb Place mtx_destroy() and rw_destroy() right after mtx_init() and rw_init() to match sx(9) and condvar(9). diff 167372 Fri Mar 09 16:54:03 MST 2007 jhb Place mtx_destroy() and rw_destroy() right after mtx_init() and rw_init() to match sx(9) and condvar(9). |
H A D | counter.9 | diff 296933 Wed Mar 16 08:45:24 MDT 2016 hselasky Improve the implementation and documentation of the SYSCTL_COUNTER_U64_ARRAY() macro. - Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks the size of the first element of the array. - Add an example to the counter(9) manual page how to use the SYSCTL_COUNTER_U64_ARRAY() macro. - Add some missing symbolic links for counter(9) while at it. diff 296933 Wed Mar 16 08:45:24 MDT 2016 hselasky Improve the implementation and documentation of the SYSCTL_COUNTER_U64_ARRAY() macro. - Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks the size of the first element of the array. - Add an example to the counter(9) manual page how to use the SYSCTL_COUNTER_U64_ARRAY() macro. - Add some missing symbolic links for counter(9) while at it. diff 296880 Tue Mar 15 00:17:46 MDT 2016 glebius Provide sysctl(9) macro to deal with array of counter(9). diff 296880 Tue Mar 15 00:17:46 MDT 2016 glebius Provide sysctl(9) macro to deal with array of counter(9). diff 263271 Mon Mar 17 20:08:54 MDT 2014 asomers share/man/man9/counter.9 Fix logic error in the description of counter_u64_alloc: the command may fail only if M_NOWAIT is specified, not M_WAITOK. Reviewed by: glebius MFC after: 2 weeks Sponsored by: Spectra Logic Corporation diff 249926 Fri Apr 26 13:07:40 MDT 2013 glebius On those machines that use critical(9) for counter(9) we need to include systm.h. diff 249926 Fri Apr 26 13:07:40 MDT 2013 glebius On those machines that use critical(9) for counter(9) we need to include systm.h. 249268 Mon Apr 08 19:50:44 MDT 2013 glebius Merge from projects/counters: counter(9). Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data. See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details. In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc. 249268 Mon Apr 08 19:50:44 MDT 2013 glebius Merge from projects/counters: counter(9). Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data. See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details. In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc. |
H A D | microtime.9 | 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> 55549 Fri Jan 07 12:42:59 MST 2000 phantom Add new manpages for: microtime(9) nanotime(9) getmicrotime(9) getnanotime(9) microuptime(9) nanouptime(9) getmicrouptime(9) getnanouptime(9) tvtohz(9) Based on PR: docs/15889 Submitted by: Kelly Yancey <kbyanc@posi.net> |
H A D | groupmember.9 | 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. |
H A D | uidinfo.9 | 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. |
H A D | vhold.9 | diff 176606 Tue Feb 26 20:25:01 MST 2008 davidc Document vholdl(9) No longer refer to vbusy(9) or vfree(9) diff 176606 Tue Feb 26 20:25:01 MST 2008 davidc Document vholdl(9) No longer refer to vbusy(9) or vfree(9) diff 176606 Tue Feb 26 20:25:01 MST 2008 davidc Document vholdl(9) No longer refer to vbusy(9) or vfree(9) diff 168203 Sun Apr 01 09:48:59 MDT 2007 maxim o Document vdropl(9) [1]. o Add an MLINK for vdropl(). Reviewed by: des [1] Obtained from: wording from vgone(9) diff 168203 Sun Apr 01 09:48:59 MDT 2007 maxim o Document vdropl(9) [1]. o Add an MLINK for vdropl(). Reviewed by: des [1] Obtained from: wording from vgone(9) |
H A D | VFS.9 | diff 240378 Wed Sep 12 03:54:24 MDT 2012 kevlo Add references to VFS_SET(9) and VOP_VPTOFH(9) diff 240378 Wed Sep 12 03:54:24 MDT 2012 kevlo Add references to VFS_SET(9) and VOP_VPTOFH(9) diff 203722 Tue Feb 09 21:09:10 MST 2010 trasz Remove VOP_VPTOFH(9) from references in VFS(9), as it's a VOP, not VFS operation. diff 203722 Tue Feb 09 21:09:10 MST 2010 trasz Remove VOP_VPTOFH(9) from references in VFS(9), as it's a VOP, not VFS operation. diff 201538 Mon Jan 04 22:28:00 MST 2010 brueffer Catch up with the VFS_VPTOFH(9) -> VOP_VPTOFH(9) repocopy that happened almost three years ago in r166794. PR: 140989 Submitted by: Lachlan Kang MFC after: 1 week diff 201538 Mon Jan 04 22:28:00 MST 2010 brueffer Catch up with the VFS_VPTOFH(9) -> VOP_VPTOFH(9) repocopy that happened almost three years ago in r166794. PR: 140989 Submitted by: Lachlan Kang MFC after: 1 week diff 148429 Wed Jul 27 02:08:59 MDT 2005 scottl Don't cross-reference VFS_START.9 diff 79727 Sat Jul 14 19:41:16 MDT 2001 schweikh Removed whitespace at end-of-line; no content changes. I simply did cd src/share; find man[1-9] -type f|xargs perl -pi -e 's/[ \t]+$//' BTW, what editors are the culprits? I'm using vim and it shows me whitespace at EOL in troff files with a thick blue block... Reviewed by: Silence from cvs diff -b MFC after: 7 days diff 51140 Sat Sep 11 00:57:20 MDT 1999 alfred Document VFS changes: VFS_CHECKEXP.9, now used to check export credentials VFS_FHTOVP.9, only used for filehandle to vnode, no access checks are done. VFS.9, inform people of the vfs_std* functions available to avoid ugly casts to eopnotsup and making of dummy functions to return 0. diff 51140 Sat Sep 11 00:57:20 MDT 1999 alfred Document VFS changes: VFS_CHECKEXP.9, now used to check export credentials VFS_FHTOVP.9, only used for filehandle to vnode, no access checks are done. VFS.9, inform people of the vfs_std* functions available to avoid ugly casts to eopnotsup and making of dummy functions to return 0. diff 51140 Sat Sep 11 00:57:20 MDT 1999 alfred Document VFS changes: VFS_CHECKEXP.9, now used to check export credentials VFS_FHTOVP.9, only used for filehandle to vnode, no access checks are done. VFS.9, inform people of the vfs_std* functions available to avoid ugly casts to eopnotsup and making of dummy functions to return 0. |
H A D | ucred.9 | diff 183113 Wed Sep 17 15:58:49 MDT 2008 attilio Remove the suser(9) interface from the kernel. It has been replaced from years by the priv_check(9) interface and just very few places are left. Note that compatibility stub with older FreeBSD version (all above the 8 limit though) are left in order to reduce diffs against old versions. It is responsibility of the maintainers for any module, if they think it is the case, to axe out such cases. This patch breaks KPI so __FreeBSD_version will be bumped into a later commit. This patch needs to be credited 50-50 with rwatson@ as he found time to explain me how the priv_check() works in detail and to review patches. Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com> Reviewed by: rwatson diff 183113 Wed Sep 17 15:58:49 MDT 2008 attilio Remove the suser(9) interface from the kernel. It has been replaced from years by the priv_check(9) interface and just very few places are left. Note that compatibility stub with older FreeBSD version (all above the 8 limit though) are left in order to reduce diffs against old versions. It is responsibility of the maintainers for any module, if they think it is the case, to axe out such cases. This patch breaks KPI so __FreeBSD_version will be bumped into a later commit. This patch needs to be credited 50-50 with rwatson@ as he found time to explain me how the priv_check() works in detail and to review patches. Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com> Reviewed by: rwatson diff 100570 Tue Jul 23 13:09:24 MDT 2002 rwatson Update ucred.9 to talk a bit more about correct use of credentials, including documenting that ucreds must not be pulled out of thin air, when to use td_cred vs. p_ucred, how to avoid race conditions in credential updates, and why to use p_ucred when targetting a thread or process in an access control operation involving two processes. Reviewed by: julian, jhb (earlier revision) diff 99576 Mon Jul 08 07:34:46 MDT 2002 julian Slight changes to reflect some of the changes in -current. mi_switch(9) is still wildly innacurate. I suggest that every kernel developer takes 20 minutes a day for the next few days and updates one or two of his favourite chapter 9 man pages as they are now WAY out of date in general. I will add a couple of KSE related pages soon. diff 99576 Mon Jul 08 07:34:46 MDT 2002 julian Slight changes to reflect some of the changes in -current. mi_switch(9) is still wildly innacurate. I suggest that every kernel developer takes 20 minutes a day for the next few days and updates one or two of his favourite chapter 9 man pages as they are now WAY out of date in general. I will add a couple of KSE related pages soon. diff 86917 Mon Nov 26 18:37:50 MST 2001 ru Bring the ucred(9) manpage in sync with the source. Specifically, document the crshared() function and fix the prototype and description of the crcopy() function. PR: docs/32275 Submitted by: Chad David <davidc@acns.ab.ca> Reviewed by: jhb 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. 79684 Fri Jul 13 18:35:48 MDT 2001 ru Add a few more manpages from Chad. Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9. |
/freebsd-11.0-release/sys/powerpc/include/ | ||
H A D | stack.h | 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
/freebsd-11.0-release/sys/sparc64/include/ | ||
H A D | stack.h | 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
/freebsd-11.0-release/sys/i386/include/ | ||
H A D | stack.h | diff 287643 Fri Sep 11 03:32:57 MDT 2015 markj Merge stack(9) implementations for i386 and amd64 under x86/. Reviewed by: jhb, kib Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3255 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
/freebsd-11.0-release/sys/arm/include/ | ||
H A D | stack.h | diff 278895 Tue Feb 17 13:15:27 MST 2015 andrew Pull the ARM ddb unwind code out to a new file. This will allow it to be used by other places that expect to unwind the stack, e.g. dtrace and stack(9). As I have written most of this code I'm changing the license to the standard FreeBSD license. I have received approval from the other developers who have changed any of the affected code. Approved by: ian, imp, rpaulo, eadler (all license change) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
/freebsd-11.0-release/sys/net/ | ||
H A D | bpf_jitter.h | diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 181846 Mon Aug 18 19:03:17 MDT 2008 jkim - Make these files compilable on user land. - Update copyrights and fix style(9). 153151 Tue Dec 06 02:58:12 MST 2005 jkim Add experimental BPF Just-In-Time compiler for amd64 and i386. Use the following kernel configuration option to enable: options BPF_JITTER If you want to use bpf_filter() instead (e. g., debugging), do: sysctl net.bpf.jitter.enable=0 to turn it off. Currently BIOCSETWF and bpf_mtap2() are unsupported, and bpf_mtap() is partially supported because 1) no need, 2) avoid expensive m_copydata(9). Obtained from: WinPcap 3.1 (for i386) |
H A D | bpf_jitter.c | diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199603 Fri Nov 20 18:59:34 MST 2009 jkim - Allocate scratch memory on stack instead of pre-allocating it with the filter as we do from bpf_filter()[1]. - Revert experimental use of contigmalloc(9)/contigfree(9). It has no performance benefit over malloc(9)/free(9)[2]. Requested by: rwatson[1] Pointed out by: rwatson, jhb, alc[2] diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 199498 Wed Nov 18 23:44:02 MST 2009 jkim - Change internal function bpf_jit_compile() to return allocated size of the generated binary and remove page size limitation for userland. - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make sure the generated binary aligns properly and make it physically contiguous. diff 182376 Thu Aug 28 16:50:36 MDT 2008 jkim Initialize scratch memory for JIT-compiled filter when it is allocated. Previously it may have contained unnecessary (even sensitive) data from the previous allocation. As a (good) side effect, scratch memory may be used to store the previous filter state(s) safely because it is allocated and freed with filter itself. However, use it carefully because bpf_filter(9) does not have this behavior. MFC after: 3 days diff 181846 Mon Aug 18 19:03:17 MDT 2008 jkim - Make these files compilable on user land. - Update copyrights and fix style(9). |
/freebsd-11.0-release/sys/libkern/ | ||
H A D | memcmp.c | 183299 Tue Sep 23 15:00:28 MDT 2008 obrien The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp and bcmp are not the same thing. 'man bcmp' states that the return is "non-zero" if the two byte strings are not identical. Where as, 'man memcmp' states that the return is the "difference between the first two differing bytes (treated as unsigned char values" if the two byte strings are not identical. So provide a proper memcmp(9), but it is a C implementation not a tuned assembly implementation. Therefore bcmp(9) should be preferred over memcmp(9). 183299 Tue Sep 23 15:00:28 MDT 2008 obrien The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp and bcmp are not the same thing. 'man bcmp' states that the return is "non-zero" if the two byte strings are not identical. Where as, 'man memcmp' states that the return is the "difference between the first two differing bytes (treated as unsigned char values" if the two byte strings are not identical. So provide a proper memcmp(9), but it is a C implementation not a tuned assembly implementation. Therefore bcmp(9) should be preferred over memcmp(9). 183299 Tue Sep 23 15:00:28 MDT 2008 obrien The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp and bcmp are not the same thing. 'man bcmp' states that the return is "non-zero" if the two byte strings are not identical. Where as, 'man memcmp' states that the return is the "difference between the first two differing bytes (treated as unsigned char values" if the two byte strings are not identical. So provide a proper memcmp(9), but it is a C implementation not a tuned assembly implementation. Therefore bcmp(9) should be preferred over memcmp(9). |
/freebsd-11.0-release/sys/vm/ | ||
H A D | redzone.h | 155086 Tue Jan 31 11:09:21 MST 2006 pjd Add buffer corruption protection (RedZone) for kernel's malloc(9). It detects both: buffer underflows and buffer overflows bugs at runtime (on free(9) and realloc(9)) and prints backtraces from where memory was allocated and from where it was freed. Tested by: kris 155086 Tue Jan 31 11:09:21 MST 2006 pjd Add buffer corruption protection (RedZone) for kernel's malloc(9). It detects both: buffer underflows and buffer overflows bugs at runtime (on free(9) and realloc(9)) and prints backtraces from where memory was allocated and from where it was freed. Tested by: kris 155086 Tue Jan 31 11:09:21 MST 2006 pjd Add buffer corruption protection (RedZone) for kernel's malloc(9). It detects both: buffer underflows and buffer overflows bugs at runtime (on free(9) and realloc(9)) and prints backtraces from where memory was allocated and from where it was freed. Tested by: kris |
/freebsd-11.0-release/sys/amd64/include/ | ||
H A D | stack.h | diff 287643 Fri Sep 11 03:32:57 MDT 2015 markj Merge stack(9) implementations for i386 and amd64 under x86/. Reviewed by: jhb, kib Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3255 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
/freebsd-11.0-release/sys/sys/ | ||
H A D | rmlock.h | diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 275751 Sat Dec 13 21:09:06 MST 2014 dchagin Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init. Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month diff 252209 Tue Jun 25 18:44:16 MDT 2013 jhb Several improvements to rmlock(9). Many of these are based on patches provided by Isilon. - Add an rm_assert() supporting various lock assertions similar to other locking primitives. Because rmlocks track readers the assertions are always fully accurate unlike rw_assert() and sx_assert(). - Flesh out the lock class methods for rmlocks to support sleeping via condvars and rm_sleep() (but only while holding write locks), rmlock details in 'show lock' in DDB, and the lc_owner method used by dtrace. - Add an internal destroyed cookie so that API functions can assert that an rmlock is not destroyed. - Make use of rm_assert() to add various assertions to the API (e.g. to assert locks are held when an unlock routine is called). - Give RM_SLEEPABLE locks their own lock class and always use the rmlock's own lock_object with WITNESS. - Use THREAD_NO_SLEEPING() / THREAD_SLEEPING_OK() to disallow sleeping while holding a read lock on an rmlock. Submitted by: andre Obtained from: EMC/Isilon diff 212112 Wed Sep 01 20:04:22 MDT 2010 mlaier rmlock(9) two additions and one change/fix: - add rm_try_rlock(). - add RM_SLEEPABLE to use sx(9) as the back-end lock in order to sleep while holding the write lock. - change rm_noreadtoken to a cpu bitmask to indicate which CPUs need to go through the lock/unlock in order to synchronize. As a side effect, this also avoids IPI to CPUs without any readers during rm_wlock. Discussed with: ups@, rwatson@ on arch@ Sponsored by: Isilon Systems, Inc. diff 212112 Wed Sep 01 20:04:22 MDT 2010 mlaier rmlock(9) two additions and one change/fix: - add rm_try_rlock(). - add RM_SLEEPABLE to use sx(9) as the back-end lock in order to sleep while holding the write lock. - change rm_noreadtoken to a cpu bitmask to indicate which CPUs need to go through the lock/unlock in order to synchronize. As a side effect, this also avoids IPI to CPUs without any readers during rm_wlock. Discussed with: ups@, rwatson@ on arch@ Sponsored by: Isilon Systems, Inc. diff 193030 Fri May 29 11:08:37 MDT 2009 rwatson Make the rmlock(9) interface a bit more like the rwlock(9) interface: - Add rm_init_flags() and accept extended options only for that variation. - Add a flags space specifically for rm_init_flags(), rather than borrowing the lock_init() flag space. - Define flag RM_RECURSE to use instead of LO_RECURSABLE. - Define flag RM_NOWITNESS to allow an rmlock to be exempt from WITNESS checking; this wasn't possible previously as rm_init() always passed LO_WITNESS when initializing an rmlock's struct lock. - Add RM_SYSINIT_FLAGS(). - Rename embedded mutex in rmlocks to make it more obvious what it is. - Update consumers. - Update man page. diff 193030 Fri May 29 11:08:37 MDT 2009 rwatson Make the rmlock(9) interface a bit more like the rwlock(9) interface: - Add rm_init_flags() and accept extended options only for that variation. - Add a flags space specifically for rm_init_flags(), rather than borrowing the lock_init() flag space. - Define flag RM_RECURSE to use instead of LO_RECURSABLE. - Define flag RM_NOWITNESS to allow an rmlock to be exempt from WITNESS checking; this wasn't possible previously as rm_init() always passed LO_WITNESS when initializing an rmlock's struct lock. - Add RM_SYSINIT_FLAGS(). - Rename embedded mutex in rmlocks to make it more obvious what it is. - Update consumers. - Update man page. diff 173520 Sat Nov 10 15:06:30 MST 2007 rwatson Add rm_wowned(9) function to test whether the current thread owns an exclusive lock on the passed rmlock. Reviewed by: ups |
H A D | stack.h | diff 194828 Wed Jun 24 12:17:57 MDT 2009 rwatson Add stack_print_short() and stack_print_short_ddb() interfaces to stack(9), which generate a more compact rendition of a stack trace via the kernel's printf. MFC after: 1 week diff 177957 Sun Apr 06 20:08:51 MDT 2008 attilio Optimize lockmgr in order to get rid of the pool mutex interlock, of the state transitioning flags and of msleep(9) callings. Use, instead, an algorithm very similar to what sx(9) and rwlock(9) alredy do and direct accesses to the sleepqueue(9) primitive. In order to avoid writer starvation a mechanism very similar to what rwlock(9) uses now is implemented, with the correspective per-thread shared lockmgrs counter. This patch also adds 2 new functions to lockmgr KPI: lockmgr_rw() and lockmgr_args_rw(). These two are like the 2 "normal" versions, but they both accept a rwlock as interlock. In order to realize this, the general lockmgr manager function "__lockmgr_args()" has been implemented through the generic lock layer. It supports all the blocking primitives, but currently only these 2 mappers live. The patch drops the support for WITNESS atm, but it will be probabilly added soon. Also, there is a little race in the draining code which is also present in the current CVS stock implementation: if some sharers, once they wakeup, are in the runqueue they can contend the lock with the exclusive drainer. This is hard to be fixed but the now committed code mitigate this issue a lot better than the (past) CVS version. In addition assertive KA_HELD and KA_UNHELD have been made mute assertions because they are dangerous and they will be nomore supported soon. In order to avoid namespace pollution, stack.h is splitted into two parts: one which includes only the "struct stack" definition (_stack.h) and one defining the KPI. In this way, newly added _lockmgr.h can just include _stack.h. Kernel ABI results heavilly changed by this commit (the now committed version of "struct lock" is a lot smaller than the previous one) and KPI results broken by lockmgr_rw() / lockmgr_args_rw() introduction, so manpages and __FreeBSD_version will be updated accordingly. Tested by: kris, pho, jeff, danger Reviewed by: jeff Sponsored by: Google, Summer of Code program 2007 diff 177957 Sun Apr 06 20:08:51 MDT 2008 attilio Optimize lockmgr in order to get rid of the pool mutex interlock, of the state transitioning flags and of msleep(9) callings. Use, instead, an algorithm very similar to what sx(9) and rwlock(9) alredy do and direct accesses to the sleepqueue(9) primitive. In order to avoid writer starvation a mechanism very similar to what rwlock(9) uses now is implemented, with the correspective per-thread shared lockmgrs counter. This patch also adds 2 new functions to lockmgr KPI: lockmgr_rw() and lockmgr_args_rw(). These two are like the 2 "normal" versions, but they both accept a rwlock as interlock. In order to realize this, the general lockmgr manager function "__lockmgr_args()" has been implemented through the generic lock layer. It supports all the blocking primitives, but currently only these 2 mappers live. The patch drops the support for WITNESS atm, but it will be probabilly added soon. Also, there is a little race in the draining code which is also present in the current CVS stock implementation: if some sharers, once they wakeup, are in the runqueue they can contend the lock with the exclusive drainer. This is hard to be fixed but the now committed code mitigate this issue a lot better than the (past) CVS version. In addition assertive KA_HELD and KA_UNHELD have been made mute assertions because they are dangerous and they will be nomore supported soon. In order to avoid namespace pollution, stack.h is splitted into two parts: one which includes only the "struct stack" definition (_stack.h) and one defining the KPI. In this way, newly added _lockmgr.h can just include _stack.h. Kernel ABI results heavilly changed by this commit (the now committed version of "struct lock" is a lot smaller than the previous one) and KPI results broken by lockmgr_rw() / lockmgr_args_rw() introduction, so manpages and __FreeBSD_version will be updated accordingly. Tested by: kris, pho, jeff, danger Reviewed by: jeff Sponsored by: Google, Summer of Code program 2007 diff 177957 Sun Apr 06 20:08:51 MDT 2008 attilio Optimize lockmgr in order to get rid of the pool mutex interlock, of the state transitioning flags and of msleep(9) callings. Use, instead, an algorithm very similar to what sx(9) and rwlock(9) alredy do and direct accesses to the sleepqueue(9) primitive. In order to avoid writer starvation a mechanism very similar to what rwlock(9) uses now is implemented, with the correspective per-thread shared lockmgrs counter. This patch also adds 2 new functions to lockmgr KPI: lockmgr_rw() and lockmgr_args_rw(). These two are like the 2 "normal" versions, but they both accept a rwlock as interlock. In order to realize this, the general lockmgr manager function "__lockmgr_args()" has been implemented through the generic lock layer. It supports all the blocking primitives, but currently only these 2 mappers live. The patch drops the support for WITNESS atm, but it will be probabilly added soon. Also, there is a little race in the draining code which is also present in the current CVS stock implementation: if some sharers, once they wakeup, are in the runqueue they can contend the lock with the exclusive drainer. This is hard to be fixed but the now committed code mitigate this issue a lot better than the (past) CVS version. In addition assertive KA_HELD and KA_UNHELD have been made mute assertions because they are dangerous and they will be nomore supported soon. In order to avoid namespace pollution, stack.h is splitted into two parts: one which includes only the "struct stack" definition (_stack.h) and one defining the KPI. In this way, newly added _lockmgr.h can just include _stack.h. Kernel ABI results heavilly changed by this commit (the now committed version of "struct lock" is a lot smaller than the previous one) and KPI results broken by lockmgr_rw() / lockmgr_args_rw() introduction, so manpages and __FreeBSD_version will be updated accordingly. Tested by: kris, pho, jeff, danger Reviewed by: jeff Sponsored by: Google, Summer of Code program 2007 diff 177957 Sun Apr 06 20:08:51 MDT 2008 attilio Optimize lockmgr in order to get rid of the pool mutex interlock, of the state transitioning flags and of msleep(9) callings. Use, instead, an algorithm very similar to what sx(9) and rwlock(9) alredy do and direct accesses to the sleepqueue(9) primitive. In order to avoid writer starvation a mechanism very similar to what rwlock(9) uses now is implemented, with the correspective per-thread shared lockmgrs counter. This patch also adds 2 new functions to lockmgr KPI: lockmgr_rw() and lockmgr_args_rw(). These two are like the 2 "normal" versions, but they both accept a rwlock as interlock. In order to realize this, the general lockmgr manager function "__lockmgr_args()" has been implemented through the generic lock layer. It supports all the blocking primitives, but currently only these 2 mappers live. The patch drops the support for WITNESS atm, but it will be probabilly added soon. Also, there is a little race in the draining code which is also present in the current CVS stock implementation: if some sharers, once they wakeup, are in the runqueue they can contend the lock with the exclusive drainer. This is hard to be fixed but the now committed code mitigate this issue a lot better than the (past) CVS version. In addition assertive KA_HELD and KA_UNHELD have been made mute assertions because they are dangerous and they will be nomore supported soon. In order to avoid namespace pollution, stack.h is splitted into two parts: one which includes only the "struct stack" definition (_stack.h) and one defining the KPI. In this way, newly added _lockmgr.h can just include _stack.h. Kernel ABI results heavilly changed by this commit (the now committed version of "struct lock" is a lot smaller than the previous one) and KPI results broken by lockmgr_rw() / lockmgr_args_rw() introduction, so manpages and __FreeBSD_version will be updated accordingly. Tested by: kris, pho, jeff, danger Reviewed by: jeff Sponsored by: Google, Summer of Code program 2007 diff 177957 Sun Apr 06 20:08:51 MDT 2008 attilio Optimize lockmgr in order to get rid of the pool mutex interlock, of the state transitioning flags and of msleep(9) callings. Use, instead, an algorithm very similar to what sx(9) and rwlock(9) alredy do and direct accesses to the sleepqueue(9) primitive. In order to avoid writer starvation a mechanism very similar to what rwlock(9) uses now is implemented, with the correspective per-thread shared lockmgrs counter. This patch also adds 2 new functions to lockmgr KPI: lockmgr_rw() and lockmgr_args_rw(). These two are like the 2 "normal" versions, but they both accept a rwlock as interlock. In order to realize this, the general lockmgr manager function "__lockmgr_args()" has been implemented through the generic lock layer. It supports all the blocking primitives, but currently only these 2 mappers live. The patch drops the support for WITNESS atm, but it will be probabilly added soon. Also, there is a little race in the draining code which is also present in the current CVS stock implementation: if some sharers, once they wakeup, are in the runqueue they can contend the lock with the exclusive drainer. This is hard to be fixed but the now committed code mitigate this issue a lot better than the (past) CVS version. In addition assertive KA_HELD and KA_UNHELD have been made mute assertions because they are dangerous and they will be nomore supported soon. In order to avoid namespace pollution, stack.h is splitted into two parts: one which includes only the "struct stack" definition (_stack.h) and one defining the KPI. In this way, newly added _lockmgr.h can just include _stack.h. Kernel ABI results heavilly changed by this commit (the now committed version of "struct lock" is a lot smaller than the previous one) and KPI results broken by lockmgr_rw() / lockmgr_args_rw() introduction, so manpages and __FreeBSD_version will be updated accordingly. Tested by: kris, pho, jeff, danger Reviewed by: jeff Sponsored by: Google, Summer of Code program 2007 diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) diff 174195 Sun Dec 02 20:40:35 MST 2007 rwatson Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
Completed in 379 milliseconds