Searched hist:1.376 (Results 1 - 25 of 65) sorted by relevance

123

/src/
H A Dbuild.sh1.376 Sat Apr 20 00:25:46 GMT 2024 rillig build.sh: fix typos in usage message
H A DUPDATING1.376 Thu Feb 06 19:58:50 GMT 2025 palle Add a newline to improve readability
/src/sys/arch/i386/conf/
H A Dfiles.i3861.376 Thu Dec 15 00:04:18 GMT 2016 kamil branches: 1.376.2;
Add support for hardware assisted watchpoints/breakpoints API in ptrace(2)

Add new ptrace(2) calls:
- PT_COUNT_WATCHPOINTS - count the number of available hardware watchpoints
- PT_READ_WATCHPOINT - read struct ptrace_watchpoint from the kernel state
- PT_WRITE_WATCHPOINT - write new struct ptrace_watchpoint state, this
includes enabling and disabling watchpoints

The ptrace_watchpoint structure contains MI and MD parts:

typedef struct ptrace_watchpoint {
int pw_index; /* HW Watchpoint ID (count from 0) */
lwpid_t pw_lwpid; /* LWP described */
struct mdpw pw_md; /* MD fields */
} ptrace_watchpoint_t;

For example amd64 defines MD as follows:
struct mdpw {
void *md_address;
int md_condition;
int md_length;
};

These calls are protected with the __HAVE_PTRACE_WATCHPOINTS guard.

Tested on amd64, initial support added for i386 and XEN.

Sponsored by <The NetBSD Foundation>
1.376 Thu Dec 15 00:04:18 GMT 2016 kamil branches: 1.376.2;
Add support for hardware assisted watchpoints/breakpoints API in ptrace(2)

Add new ptrace(2) calls:
- PT_COUNT_WATCHPOINTS - count the number of available hardware watchpoints
- PT_READ_WATCHPOINT - read struct ptrace_watchpoint from the kernel state
- PT_WRITE_WATCHPOINT - write new struct ptrace_watchpoint state, this
includes enabling and disabling watchpoints

The ptrace_watchpoint structure contains MI and MD parts:

typedef struct ptrace_watchpoint {
int pw_index; /* HW Watchpoint ID (count from 0) */
lwpid_t pw_lwpid; /* LWP described */
struct mdpw pw_md; /* MD fields */
} ptrace_watchpoint_t;

For example amd64 defines MD as follows:
struct mdpw {
void *md_address;
int md_condition;
int md_length;
};

These calls are protected with the __HAVE_PTRACE_WATCHPOINTS guard.

Tested on amd64, initial support added for i386 and XEN.

Sponsored by <The NetBSD Foundation>
H A DALL1.376 Tue Jun 10 01:42:39 GMT 2014 hikaru Add VMware VMXNET3 ethernet driver from OpenBSD, vmx(4).
/src/share/mk/
H A Dbsd.lib.mk1.376 Mon Jun 25 17:58:36 GMT 2018 kamil branches: 1.376.2;
Add a framework for renaming symbols in libc&co for MKSANITIZER

A new keyword SANITIZER_RENAME_SYMBOL. It's a variable that has specified
a list of symbols to be renamed in a processor in order to remove naming
conflicts with public symbols in libc/m/pthread/rt.

This renaming will occur for libraries and programs.
A symbol with a conflicting 'name', will be renamed to '__mksanitizer_name'.

Based on an idea by <christos>

1.376 Mon Jun 25 17:58:36 GMT 2018 kamil branches: 1.376.2;
Add a framework for renaming symbols in libc&co for MKSANITIZER

A new keyword SANITIZER_RENAME_SYMBOL. It's a variable that has specified
a list of symbols to be renamed in a processor in order to remove naming
conflicts with public symbols in libc/m/pthread/rt.

This renaming will occur for libraries and programs.
A symbol with a conflicting 'name', will be renamed to '__mksanitizer_name'.

Based on an idea by <christos>

/src/sys/dev/raidframe/
H A Drf_netbsdkintf.c1.376 Fri Mar 01 11:06:56 GMT 2019 pgoyette branches: 1.376.4;
Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

NFCI intended.

Ride the earlier kernel bump - it;s getting crowded.

1.376 Fri Mar 01 11:06:56 GMT 2019 pgoyette branches: 1.376.4;
Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

NFCI intended.

Ride the earlier kernel bump - it;s getting crowded.

/src/sys/netinet/
H A Dip_input.c1.376 Sat Feb 24 07:37:09 GMT 2018 ozaki-r branches: 1.376.2;
Avoid a deadlock between softnet_lock and IFNET_LOCK

A deadlock occurs because there is a violation of the rule of lock ordering;
softnet_lock is held with hodling IFNET_LOCK, which violates the rule.
To avoid the deadlock, replace softnet_lock in in_control and in6_control
with KERNEL_LOCK.

We also need to add some KERNEL_LOCKs to protect the network stack surely.
This is required, for example, for PR kern/51356.

Fix PR kern/53043

1.376 Sat Feb 24 07:37:09 GMT 2018 ozaki-r branches: 1.376.2;
Avoid a deadlock between softnet_lock and IFNET_LOCK

A deadlock occurs because there is a violation of the rule of lock ordering;
softnet_lock is held with hodling IFNET_LOCK, which violates the rule.
To avoid the deadlock, replace softnet_lock in in_control and in6_control
with KERNEL_LOCK.

We also need to add some KERNEL_LOCKs to protect the network stack surely.
This is required, for example, for PR kern/51356.

Fix PR kern/53043

/src/sys/arch/alpha/conf/
H A DGENERIC1.376 Sat Jul 29 18:08:56 GMT 2017 maxv Remove TCP_COMPAT_42 from the config files. Pass 3.

/src/distrib/sets/lists/debug/
H A Dshl.mi1.376 Sun Oct 19 23:52:44 GMT 2025 riastradh libc, libpthread: Bump for pthread stub additions.

New symbols were added a couple weeks ago but I forgot to bump the
shlib minors.

PR lib/59685: libcrypto should not depend on libpthread
H A Dmi1.376 Fri Apr 08 23:35:51 GMT 2022 riastradh membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.
/src/share/misc/
H A Dacronyms.comp1.376 Thu Oct 26 13:43:17 GMT 2023 jschauma +DFZ default-free zone

/src/sys/arch/macppc/conf/
H A DGENERIC1.376 Thu Jan 26 00:15:47 GMT 2023 macallan do some cleanup
the gm driver has been commented out for 20 years, time to remove it
while there, remove ofb and the old ADB code which have been commented out
since 2007
/src/sys/arch/i386/i386/
H A Dmachdep.c1.376 Fri Feb 04 14:21:33 GMT 2000 minoura branches: 1.376.2;
Add Cyrix MediaGX(m) identification.
Thanks to INOUE Yoshinari <pf5y-inue@asahi-net.or.jp>.
1.376 Fri Feb 04 14:21:33 GMT 2000 minoura branches: 1.376.2;
Add Cyrix MediaGX(m) identification.
Thanks to INOUE Yoshinari <pf5y-inue@asahi-net.or.jp>.
/src/sys/ufs/ffs/
H A Dffs_vfsops.c1.376 Sat Apr 16 08:00:55 GMT 2022 hannken Unlock vnode for VOP_IOCTL() and wapbl_flush().
/src/sys/ufs/lfs/
H A Dlfs_vfsops.c1.376 Sat Mar 14 20:23:51 GMT 2020 ad Make page waits (WANTED vs BUSY) interlocked by pg->interlock. Gets RW
locks out of the equation for sleep/wakeup, and allows observing+waiting
for busy pages when holding only a read lock. Proposed on tech-kern.
/src/sys/uvm/
H A Duvm_map.c1.376 Sun Mar 22 18:32:42 GMT 2020 ad Process concurrent page faults on individual uvm_objects / vm_amaps in
parallel, where the relevant pages are already in-core. Proposed on
tech-kern.

Temporarily disabled on MP architectures with __HAVE_UNLOCKED_PMAP until
adjustments are made to their pmaps.

/src/sys/kern/
H A Dkern_sig.c1.376 Mon Oct 21 17:07:00 GMT 2019 mgorny Fix a race condition when handling concurrent LWP signals and add a test

Fix a race condition that caused PT_GET_SIGINFO to return incorrect
information when multiple signals were delivered concurrently
to different LWPs. Add a regression test that verifies that when 50
threads concurrently use pthread_kill() on themselves, the debugger
receives all signals with correct information.

The kernel uses separate signal queues for each LWP. However,
the signal context used to implement PT_GET_SIGINFO is stored in 'struct
proc' and therefore common to all LWPs in the process. Previously,
this member was filled in kpsignal2(), i.e. when the signal was sent.
This meant that if another LWP managed to send another signal
concurrently, the data was overwritten before the process was stopped.

As a result, PT_GET_SIGINFO did not report the correct LWP and signal
(it could even report a different signal than wait()). This can be
quite reliably reproduced with the number of 20 LWPs, however it can
also occur with 10.

This patch moves setting of signal context to issignal(), just before
the process is actually stopped. The data is taken from per-LWP
or per-process signal queue. The added test confirms that the debugger
correctly receives all signals, and PT_GET_SIGINFO reports both correct
LWP and signal number.

Reviewed by kamil.
/src/sys/arch/sparc64/sparc64/
H A Dlocore.s1.376 Fri Oct 24 15:51:16 GMT 2014 nakayama Fix typo in comment.
/src/sys/dev/ata/
H A Dwd.c1.376 Tue May 19 23:43:44 GMT 2009 dyoung Use disk_predetach().
/src/sys/arch/sparc/sparc/
H A Dpmap.c1.376 Sat Mar 12 15:32:31 GMT 2022 riastradh sys: Membar audit around reference count releases.

If two threads are using an object that is freed when the reference
count goes to zero, we need to ensure that all memory operations
related to the object happen before freeing the object.

Using an atomic_dec_uint_nv(&refcnt) == 0 ensures that only one
thread takes responsibility for freeing, but it's not enough to
ensure that the other thread's memory operations happen before the
freeing.

Consider:

Thread A Thread B
obj->foo = 42; obj->baz = 73;
mumble(&obj->bar); grumble(&obj->quux);
/* membar_exit(); */ /* membar_exit(); */
atomic_dec -- not last atomic_dec -- last
/* membar_enter(); */
KASSERT(invariant(obj->foo,
obj->bar));
free_stuff(obj);

The memory barriers ensure that

obj->foo = 42;
mumble(&obj->bar);

in thread A happens before

KASSERT(invariant(obj->foo, obj->bar));
free_stuff(obj);

in thread B. Without them, this ordering is not guaranteed.

So in general it is necessary to do

membar_exit();
if (atomic_dec_uint_nv(&obj->refcnt) != 0)
return;
membar_enter();

to release a reference, for the `last one out hit the lights' style
of reference counting. (This is in contrast to the style where one
thread blocks new references and then waits under a lock for existing
ones to drain with a condvar -- no membar needed thanks to mutex(9).)

I searched for atomic_dec to find all these. Obviously we ought to
have a better abstraction for this because there's so much copypasta.
This is a stop-gap measure to fix actual bugs until we have that. It
would be nice if an abstraction could gracefully handle the different
styles of reference counting in use -- some years ago I drafted an
API for this, but making it cover everything got a little out of hand
(particularly with struct vnode::v_usecount) and I ended up setting
it aside to work on psref/localcount instead for better scalability.

I got bored of adding #ifdef __HAVE_ATOMIC_AS_MEMBAR everywhere, so I
only put it on things that look performance-critical on 5sec review.
We should really adopt membar_enter_preatomic/membar_exit_postatomic
or something (except they are applicable only to atomic r/m/w, not to
atomic_load/store_*, making the naming annoying) and get rid of all
the ifdefs.

/src/sys/dev/ic/
H A Dcom.c1.376 Mon Oct 03 19:58:48 GMT 2022 riastradh com(4): Nix dead code.

This was introduced in rev. 1.292, whose commit message was...
`Delete dead code.' I guess December 6, 2009 was Opposite Day?
/src/sys/arch/alpha/alpha/
H A Dmachdep.c1.376 Thu Aug 03 03:07:35 GMT 2023 rin alpha: Add support for bootflags [xX] to enable debug messages.

/src/sys/arch/amd64/amd64/
H A Dmachdep.c1.376 Wed Apr 30 15:30:53 GMT 2025 imil Fix build for XEN not defined

/src/sys/arch/arm/arm32/
H A Dpmap.c1.376 Fri Jan 17 00:39:00 GMT 2020 skrll Update PMAP_STEAL_MEMORY code to uvm_hotplug

/src/distrib/notes/common/
H A Dmain1.376 Tue Dec 11 18:16:16 GMT 2007 phx Add myself to the list of NetBSD developers.

Completed in 538 milliseconds

123